aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/base/auth_database.sql6
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/auth/2014_04_26_00_auth_rbac_permissions.sql (renamed from sql/updates/auth/2014_04_26_00_auth_rbac_permissions.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/auth/2014_04_28_00_auth_rbac_permissions.sql (renamed from sql/updates/auth/2014_04_28_00_auth_rbac_permissions.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/auth/2014_06_23_00_auth_action_ip_logger.sql (renamed from sql/updates/auth/2014_06_23_00_auth_action_ip_logger.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/characters/2014_03_29_00_characters_groups.sql (renamed from sql/updates/characters/2014_03_29_00_characters_groups.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/characters/2014_04_30_00_characters_character_queststatus_seasonal.sql (renamed from sql/updates/characters/2014_04_30_00_characters_character_queststatus_seasonal.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/characters/2014_07_01_00_characters_character_skills.sql4
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_29_00_world_version.sql (renamed from sql/updates/world/2014_03_29_00_world_version.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_29_01_world_smart_scripts.sql (renamed from sql/updates/world/2014_03_29_01_world_smart_scripts.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_29_02_world_creature.sql (renamed from sql/updates/world/2014_03_29_02_world_creature.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_00_world_game_event_335.sql (renamed from sql/updates/world/2014_03_30_00_world_game_event_335.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_01_world_creature.sql (renamed from sql/updates/world/2014_03_30_01_world_creature.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_02_world_game_event_335.sql (renamed from sql/updates/world/2014_03_30_02_world_game_event_335.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_03_world_smart_scripts.sql (renamed from sql/updates/world/2014_03_30_03_world_smart_scripts.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_04_world_creature_equip_template.sql (renamed from sql/updates/world/2014_03_30_04_world_creature_equip_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_05_world_creature_equip_template.sql (renamed from sql/updates/world/2014_03_30_05_world_creature_equip_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_06_world_broadcast_text.sql (renamed from sql/updates/world/2014_03_30_06_world_broadcast_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_00_world_creature_template_addon.sql (renamed from sql/updates/world/2014_03_31_00_world_creature_template_addon.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_01_world_creature_addon.sql (renamed from sql/updates/world/2014_03_31_01_world_creature_addon.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_02_world_gameobject_template.sql (renamed from sql/updates/world/2014_03_31_02_world_gameobject_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_03_world_gameobject_template.sql (renamed from sql/updates/world/2014_03_31_03_world_gameobject_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_00_world_misc.sql (renamed from sql/updates/world/2014_04_01_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_01_world_gameobject_template.sql (renamed from sql/updates/world/2014_04_01_01_world_gameobject_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_02_world_gameobject_template.sql (renamed from sql/updates/world/2014_04_01_02_world_gameobject_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_03_world_gameobject_template.sql (renamed from sql/updates/world/2014_04_01_03_world_gameobject_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_02_00_world_sai.sql (renamed from sql/updates/world/2014_04_02_00_world_sai.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_02_01_world_gameobject_template.sql (renamed from sql/updates/world/2014_04_02_01_world_gameobject_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_02_02_world_gameobject_template.sql (renamed from sql/updates/world/2014_04_02_02_world_gameobject_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_03_00_world_sai.sql (renamed from sql/updates/world/2014_04_03_00_world_sai.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_04_00_world_creature_template.sql (renamed from sql/updates/world/2014_04_04_00_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_05_00_world_spell_script_names.sql (renamed from sql/updates/world/2014_04_05_00_world_spell_script_names.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_12_00_world_spell_bonus_data.sql (renamed from sql/updates/world/2014_04_12_00_world_spell_bonus_data.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_13_00_world_broadcast_text_conversion.sql (renamed from sql/updates/world/2014_04_13_00_world_broadcast_text_conversion.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_14_00_world_spell_script_names.sql (renamed from sql/updates/world/2014_04_14_00_world_spell_script_names.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_14_01_world_broadcast_text_conversion.sql (renamed from sql/updates/world/2014_04_14_01_world_broadcast_text_conversion.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_14_02_world_broadcast_text_conversion.sql (renamed from sql/updates/world/2014_04_14_02_world_broadcast_text_conversion.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_16_00_world_sai.sql (renamed from sql/updates/world/2014_04_16_00_world_sai.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_16_01_world_broadcast_text_conversion.sql (renamed from sql/updates/world/2014_04_16_01_world_broadcast_text_conversion.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_16_02_world_broadcast_text.sql (renamed from sql/updates/world/2014_04_16_02_world_broadcast_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_00_world_misc.sql (renamed from sql/updates/world/2014_04_17_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_01_world_spelldifficulty_dbc.sql (renamed from sql/updates/world/2014_04_17_01_world_spelldifficulty_dbc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_02_world_creature_template.sql (renamed from sql/updates/world/2014_04_17_02_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_03_world_spell_area.sql (renamed from sql/updates/world/2014_04_17_03_world_spell_area.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_04_world_ulduar.sql (renamed from sql/updates/world/2014_04_17_04_world_ulduar.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_18_00_world_spell_script_names.sql (renamed from sql/updates/world/2014_04_18_00_world_spell_script_names.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_19_00_world_misc.sql (renamed from sql/updates/world/2014_04_19_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_19_01_world_quest.sql (renamed from sql/updates/world/2014_04_19_01_world_quest.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_00_world_misc.sql (renamed from sql/updates/world/2014_04_20_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_01_world_creature_text.sql (renamed from sql/updates/world/2014_04_20_01_world_creature_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_02_world_creature_text.sql (renamed from sql/updates/world/2014_04_20_02_world_creature_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_03_world_gossip_menu_option.sql (renamed from sql/updates/world/2014_04_20_03_world_gossip_menu_option.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_00_world_smart_scripts.sql (renamed from sql/updates/world/2014_04_21_00_world_smart_scripts.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_01_world_quest_template.sql (renamed from sql/updates/world/2014_04_21_01_world_quest_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_02_world_disables.sql (renamed from sql/updates/world/2014_04_21_02_world_disables.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_03_world_smart_scripts.sql (renamed from sql/updates/world/2014_04_21_03_world_smart_scripts.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_04_world_broadcast_text_conversion.sql (renamed from sql/updates/world/2014_04_21_04_world_broadcast_text_conversion.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_05_world_gossip_menu.sql (renamed from sql/updates/world/2014_04_21_05_world_gossip_menu.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_06_world_locales_broadcast_text.sql (renamed from sql/updates/world/2014_04_21_06_world_locales_broadcast_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_07_world_locales_item.sql (renamed from sql/updates/world/2014_04_21_07_world_locales_item.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_08_world_locales_item_set_names.sql (renamed from sql/updates/world/2014_04_21_08_world_locales_item_set_names.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_00_world_locales_gameobject.sql (renamed from sql/updates/world/2014_04_22_00_world_locales_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_01_world_locales_creature.sql (renamed from sql/updates/world/2014_04_22_01_world_locales_creature.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_02_world_creature_text.sql (renamed from sql/updates/world/2014_04_22_02_world_creature_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_03_world_trinity_string.sql (renamed from sql/updates/world/2014_04_22_03_world_trinity_string.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_04_world_creature_text.sql (renamed from sql/updates/world/2014_04_22_04_world_creature_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_00_world_trinity_string.sql (renamed from sql/updates/world/2014_04_23_00_world_trinity_string.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_01_world_locales_quest.sql (renamed from sql/updates/world/2014_04_23_01_world_locales_quest.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_02_world_misc.sql (renamed from sql/updates/world/2014_04_23_02_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_03_world_misc.sql (renamed from sql/updates/world/2014_04_23_03_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_04_world_locales_item.sql (renamed from sql/updates/world/2014_04_23_04_world_locales_item.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_00_world_locales_broadcast_text.sql (renamed from sql/updates/world/2014_04_24_00_world_locales_broadcast_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_01_world_locales_gameobject.sql (renamed from sql/updates/world/2014_04_24_01_world_locales_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_02_world_gossip.sql (renamed from sql/updates/world/2014_04_24_02_world_gossip.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_03_world_gossip.sql (renamed from sql/updates/world/2014_04_24_03_world_gossip.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_04_world_creature_template.sql (renamed from sql/updates/world/2014_04_24_04_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_00_world_command.sql (renamed from sql/updates/world/2014_04_26_00_world_command.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_01_world_locales_creature.sql (renamed from sql/updates/world/2014_04_26_01_world_locales_creature.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_02_world_misc.sql (renamed from sql/updates/world/2014_04_26_02_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_03_world_gossip_menu_option.sql (renamed from sql/updates/world/2014_04_26_03_world_gossip_menu_option.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_04_world_creature_template.sql (renamed from sql/updates/world/2014_04_26_04_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_00_world_misc.sql (renamed from sql/updates/world/2014_04_27_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_01_world_gossip_menu_option.sql (renamed from sql/updates/world/2014_04_27_01_world_gossip_menu_option.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_02_world_creature_template.sql (renamed from sql/updates/world/2014_04_27_02_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_03_world_creature_template.sql (renamed from sql/updates/world/2014_04_27_03_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_04_world_creature_template.sql (renamed from sql/updates/world/2014_04_27_04_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_05_world_creature_template.sql (renamed from sql/updates/world/2014_04_27_05_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_06_world_creature_template.sql (renamed from sql/updates/world/2014_04_27_06_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_07_world_creature_template.sql (renamed from sql/updates/world/2014_04_27_07_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_08_world_creature_template.sql (renamed from sql/updates/world/2014_04_27_08_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_09_world_creature_template.sql (renamed from sql/updates/world/2014_04_27_09_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_10_world_creature_template.sql (renamed from sql/updates/world/2014_04_27_10_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_00_world_creature_template.sql (renamed from sql/updates/world/2014_04_28_00_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_01_world_creature_template.sql (renamed from sql/updates/world/2014_04_28_01_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_02_world_creature_template.sql (renamed from sql/updates/world/2014_04_28_02_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_03_world_command.sql (renamed from sql/updates/world/2014_04_28_03_world_command.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_04_world_misc.sql (renamed from sql/updates/world/2014_04_28_04_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_05_world_misc.sql (renamed from sql/updates/world/2014_04_28_05_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_06_world_creature_template.sql (renamed from sql/updates/world/2014_04_28_06_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_07_world_creature_template.sql (renamed from sql/updates/world/2014_04_28_07_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_08_world_creature_template.sql (renamed from sql/updates/world/2014_04_28_08_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_09_world_creature_template.sql (renamed from sql/updates/world/2014_04_28_09_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_10_world_misc.sql (renamed from sql/updates/world/2014_04_28_10_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_00_world_misc.sql (renamed from sql/updates/world/2014_04_29_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_01_world_misc.sql (renamed from sql/updates/world/2014_04_29_01_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_02_world_gossip_menu_option.sql (renamed from sql/updates/world/2014_04_29_02_world_gossip_menu_option.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_03_world_gossip_menu_option.sql (renamed from sql/updates/world/2014_04_29_03_world_gossip_menu_option.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_04_world_gameobject_loot_template.sql (renamed from sql/updates/world/2014_04_29_04_world_gameobject_loot_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_00_world_game_event_seasonal_questrelation.sql (renamed from sql/updates/world/2014_04_30_00_world_game_event_seasonal_questrelation.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_01_world_misc.sql (renamed from sql/updates/world/2014_04_30_01_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_02_world_creature_template.sql (renamed from sql/updates/world/2014_04_30_02_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_03_world_creature_template.sql (renamed from sql/updates/world/2014_04_30_03_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_04_world_creature_template.sql (renamed from sql/updates/world/2014_04_30_04_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_05_world_creature_template.sql (renamed from sql/updates/world/2014_04_30_05_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_06_world_creature_template.sql (renamed from sql/updates/world/2014_04_30_06_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_01_00_world_creature_template.sql (renamed from sql/updates/world/2014_05_01_00_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_02_00_world_gossip_menu_option.sql (renamed from sql/updates/world/2014_05_02_00_world_gossip_menu_option.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_02_00_world_locales_item_335.sql (renamed from sql/updates/world/2014_05_02_00_world_locales_item_335.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_02_01_world_creature_template.sql (renamed from sql/updates/world/2014_05_02_01_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_03_00_world_creature_template.sql (renamed from sql/updates/world/2014_05_03_00_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_03_01_world_gossip_menu_option.sql (renamed from sql/updates/world/2014_05_03_01_world_gossip_menu_option.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_00_world_creature_template.sql (renamed from sql/updates/world/2014_05_04_00_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_01_world_sai.sql (renamed from sql/updates/world/2014_05_04_01_world_sai.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_02_world_creature_text.sql (renamed from sql/updates/world/2014_05_04_02_world_creature_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_03_world_creature_text.sql (renamed from sql/updates/world/2014_05_04_03_world_creature_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_04_world_creature.sql (renamed from sql/updates/world/2014_05_04_04_world_creature.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_07_00_world_creature_template.sql (renamed from sql/updates/world/2014_05_07_00_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_07_00_world_gossip_menu_option.sql (renamed from sql/updates/world/2014_05_07_00_world_gossip_menu_option.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_08_00_world_smart_scripts.sql (renamed from sql/updates/world/2014_05_08_00_world_smart_scripts.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_09_00_world_misc.sql (renamed from sql/updates/world/2014_05_09_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_09_01_world_gossip.sql (renamed from sql/updates/world/2014_05_09_01_world_gossip.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_09_02_world_creature_template.sql (renamed from sql/updates/world/2014_05_09_02_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_10_00_world_player_factionchange_items.sql (renamed from sql/updates/world/2014_05_10_00_world_player_factionchange_items.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_10_01_world_halls_of_reflection.sql (renamed from sql/updates/world/2014_05_10_01_world_halls_of_reflection.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_00_world_gameobject.sql (renamed from sql/updates/world/2014_05_11_00_world_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_01_world_misc.sql (renamed from sql/updates/world/2014_05_11_01_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_02_world_gameobject.sql (renamed from sql/updates/world/2014_05_11_02_world_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_03_world_gameobject.sql (renamed from sql/updates/world/2014_05_11_03_world_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_12_00_world_misc.sql (renamed from sql/updates/world/2014_05_12_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_12_01_world_creature_template.sql (renamed from sql/updates/world/2014_05_12_01_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_13_00_world_conditions.sql (renamed from sql/updates/world/2014_05_13_00_world_conditions.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_00_world_misc.sql (renamed from sql/updates/world/2014_05_18_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_01_world_misc.sql (renamed from sql/updates/world/2014_05_18_01_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_02_world_gameobject.sql (renamed from sql/updates/world/2014_05_18_02_world_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_03_world_misc.sql (renamed from sql/updates/world/2014_05_18_03_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_04_world_misc.sql (renamed from sql/updates/world/2014_05_18_04_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_19_00_world_misc.sql (renamed from sql/updates/world/2014_05_19_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_19_01_world_misc.sql (renamed from sql/updates/world/2014_05_19_01_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_23_00_world_spell_script_names.sql (renamed from sql/updates/world/2014_05_23_00_world_spell_script_names.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_23_01_world_trinity_string.sql (renamed from sql/updates/world/2014_05_23_01_world_trinity_string.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_30_00_world_quest_update.sql (renamed from sql/updates/world/2014_05_30_00_world_quest_update.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_03_00_world_creature.sql (renamed from sql/updates/world/2014_06_03_00_world_creature.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_06_00_world_misc.sql (renamed from sql/updates/world/2014_06_06_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_06_00_world_quest_template.sql (renamed from sql/updates/world/2014_06_06_00_world_quest_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_07_00_world_misc.sql (renamed from sql/updates/world/2014_06_07_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_00_world_conditions.sql (renamed from sql/updates/world/2014_06_08_00_world_conditions.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_01_world_gameobject.sql (renamed from sql/updates/world/2014_06_08_01_world_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_02_world_gameobject.sql (renamed from sql/updates/world/2014_06_08_02_world_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_03_world_gameobject.sql (renamed from sql/updates/world/2014_06_08_03_world_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_09_00_world_quest_template.sql (renamed from sql/updates/world/2014_06_09_00_world_quest_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_11_01_world_spell_script_names.sql (renamed from sql/updates/world/2014_06_11_01_world_spell_script_names.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_11_02_world_fish_junk_loot_template.sql (renamed from sql/updates/world/2014_06_11_02_world_fish_junk_loot_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_12_00_world_quest_template.sql (renamed from sql/updates/world/2014_06_12_00_world_quest_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_12_01_world_gossip_menu_option.sql (renamed from sql/updates/world/2014_06_12_01_world_gossip_menu_option.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_00_world_creature_template.sql (renamed from sql/updates/world/2014_06_14_00_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_01_world_misc.sql (renamed from sql/updates/world/2014_06_14_01_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_02_world_spell_script_names.sql (renamed from sql/updates/world/2014_06_14_02_world_spell_script_names.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_03_world_smart_scripts.sql (renamed from sql/updates/world/2014_06_14_03_world_smart_scripts.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_04_world_trinity_string.sql (renamed from sql/updates/world/2014_06_14_04_world_trinity_string.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_15_00_world_spell_script_names.sql (renamed from sql/updates/world/2014_06_15_00_world_spell_script_names.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_15_01_world_creature_template.sql (renamed from sql/updates/world/2014_06_15_01_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_15_02_world_spell_group.sql (renamed from sql/updates/world/2014_06_15_02_world_spell_group.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_16_00_world_spell_group.sql (renamed from sql/updates/world/2014_06_16_00_world_spell_group.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_17_00_world_creature.sql (renamed from sql/updates/world/2014_06_17_00_world_creature.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_17_00_world_spell_group.sql (renamed from sql/updates/world/2014_06_17_00_world_spell_group.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_20_00_world_spell_dbc.sql (renamed from sql/updates/world/2014_06_20_00_world_spell_dbc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_20_01_world_creature_text.sql (renamed from sql/updates/world/2014_06_20_01_world_spell_dbc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_00_world_locales_creature.sql (renamed from sql/updates/world/2014_06_22_00_world_locales_creature.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_01_world_gameobject.sql (renamed from sql/updates/world/2014_06_22_01_world_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_02_world_misc.sql (renamed from sql/updates/world/2014_06_22_02_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_03_world_misc.sql (renamed from sql/updates/world/2014_06_22_03_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_04_world_misc.sql (renamed from sql/updates/world/2014_06_22_04_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_05_world_misc.sql (renamed from sql/updates/world/2014_06_22_05_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_06_world_misc.sql (renamed from sql/updates/world/2014_06_22_06_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_07_world_misc.sql (renamed from sql/updates/world/2014_06_22_07_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_08_world_misc.sql (renamed from sql/updates/world/2014_06_22_08_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_09_world_misc.sql (renamed from sql/updates/world/2014_06_22_09_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_10_world_spell_custom_attr.sql (renamed from sql/updates/world/2014_06_22_10_world_spell_custom_attr.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_11_world_misc.sql (renamed from sql/updates/world/2014_06_22_11_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_12_world_misc.sql (renamed from sql/updates/world/2014_06_22_12_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_13_world_misc.sql (renamed from sql/updates/world/2014_06_22_13_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_14_world_misc.sql (renamed from sql/updates/world/2014_06_22_14_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_15_world_misc.sql (renamed from sql/updates/world/2014_06_22_15_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_16_world_misc.sql (renamed from sql/updates/world/2014_06_22_16_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_17_world_misc.sql (renamed from sql/updates/world/2014_06_22_17_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_00_world_gameobject.sql (renamed from sql/updates/world/2014_06_23_00_world_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_00_world_spell_dbc.sql (renamed from sql/updates/world/2014_06_23_00_world_spell_dbc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_01_world_creature_text.sql (renamed from sql/updates/world/2014_06_23_01_world_creature_text.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_03_world_misc.sql (renamed from sql/updates/world/2014_06_23_03_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_04_world_gameobject.sql (renamed from sql/updates/world/2014_06_23_04_world_gameobject.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_05_world_creature_template.sql (renamed from sql/updates/world/2014_06_23_05_world_creature_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_06_world_misc.sql (renamed from sql/updates/world/2014_06_23_06_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_07_world_misc_335a.sql (renamed from sql/updates/world/2014_06_23_07_world_misc_335a.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_08_world_gameobject_loot_template.sql (renamed from sql/updates/world/2014_06_23_08_world_gameobject_loot_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_09_world_misc.sql (renamed from sql/updates/world/2014_06_23_09_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_10_world_misc.sql (renamed from sql/updates/world/2014_06_23_10_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_11_world_misc.sql (renamed from sql/updates/world/2014_06_23_11_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_12_world_misc.sql (renamed from sql/updates/world/2014_06_23_12_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_13_world_spell_group.sql (renamed from sql/updates/world/2014_06_23_13_world_spell_group.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_14_world_misc.sql (renamed from sql/updates/world/2014_06_23_14_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_15_world_misc.sql (renamed from sql/updates/world/2014_06_23_15_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_16_world_misc.sql (renamed from sql/updates/world/2014_06_23_16_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_17_world_misc.sql (renamed from sql/updates/world/2014_06_23_17_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_18_world_smart_scripts.sql (renamed from sql/updates/world/2014_06_23_18_world_smart_scripts.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_19_world_misc.sql (renamed from sql/updates/world/2014_06_23_19_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_20_world_misc.sql (renamed from sql/updates/world/2014_06_23_20_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_21_world_misc.sql (renamed from sql/updates/world/2014_06_23_21_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_00_world_quest_template.sql (renamed from sql/updates/world/2014_06_24_00_world_quest_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_01_world_misc.sql (renamed from sql/updates/world/2014_06_24_01_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_02_world_misc.sql (renamed from sql/updates/world/2014_06_24_02_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_03_world_misc.sql (renamed from sql/updates/world/2014_06_24_03_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_04_world_misc.sql (renamed from sql/updates/world/2014_06_24_04_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_05_world_misc.sql (renamed from sql/updates/world/2014_06_24_05_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_06_world_misc.sql (renamed from sql/updates/world/2014_06_24_06_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_07_world_spell_proc_event.sql (renamed from sql/updates/world/2014_06_24_07_world_spell_proc_event.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_08_world_misc.sql (renamed from sql/updates/world/2014_06_24_08_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_09_world_misc.sql (renamed from sql/updates/world/2014_06_24_09_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_00_world_quest.sql (renamed from sql/updates/world/2014_06_25_00_world_quest.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_01_world_misc.sql (renamed from sql/updates/world/2014_06_25_01_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_02_world_creature.sql (renamed from sql/updates/world/2014_06_25_02_world_creature.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_03_world_misc.sql (renamed from sql/updates/world/2014_06_25_03_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_04_world_misc.sql (renamed from sql/updates/world/2014_06_25_04_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_05_world_misc.sql (renamed from sql/updates/world/2014_06_25_05_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_06_world_conditions.sql (renamed from sql/updates/world/2014_06_25_06_world_conditions.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_07_world_conditions.sql (renamed from sql/updates/world/2014_06_25_07_world_conditions.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_08_world_conditions.sql (renamed from sql/updates/world/2014_06_25_08_world_conditions.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_26_00_world_misc.sql (renamed from sql/updates/world/2014_06_26_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_26_01_world_misc.sql (renamed from sql/updates/world/2014_06_26_01_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_26_02_world_misc.sql (renamed from sql/updates/world/2014_06_26_02_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_27_00_world_misc.sql (renamed from sql/updates/world/2014_06_27_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_27_00_world_smart_scripts.sql (renamed from sql/updates/world/2014_06_27_00_world_smart_scripts.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_00_world_misc.sql (renamed from sql/updates/world/2014_06_28_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_00_world_smart_scripts.sql (renamed from sql/updates/world/2014_06_28_00_world_smart_scripts.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_02_world_misc.sql (renamed from sql/updates/world/2014_06_28_02_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_03_world_misc.sql (renamed from sql/updates/world/2014_06_28_03_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_04_world_misc.sql (renamed from sql/updates/world/2014_06_28_04_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_29_00_world_misc.sql (renamed from sql/updates/world/2014_06_29_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_29_01_world_quest_template.sql (renamed from sql/updates/world/2014_06_29_01_world_quest_template.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_29_02_world_misc.sql (renamed from sql/updates/world/2014_06_29_02_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_01_00_world_misc.sql (renamed from sql/updates/world/2014_07_01_00_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_01_01_world_misc.sql (renamed from sql/updates/world/2014_07_01_01_world_misc.sql)0
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_01_02_world_playercreateinfo_skills.sql90
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_00_world_misc.sql5
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_01_world_misc.sql5
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_02_world_misc.sql2
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_03_world_npc_vendor.sql2
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_03_00_world_misc.sql2
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_03_01_world_spell_proc_event.sql7
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_04_00_world_playercreateinfo_skills.sql5
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_05_00_world_misc.sql7
-rw-r--r--sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_05_01_world_smart_scripts.sql19
-rw-r--r--sql/updates/world/2014_07_06_00_world_version.sql1
-rw-r--r--sql/updates/world/2014_07_06_01_world_misc.sql10
-rw-r--r--sql/updates/world/2014_07_06_02_world_misc.sql4
-rw-r--r--sql/updates/world/2014_07_07_00_world_creature_text.sql5
-rw-r--r--sql/updates/world/2014_07_07_01_world_spell_script_names.sql3
-rw-r--r--sql/updates/world/2014_07_07_02_world_spell_game_event_creature.sql34
-rw-r--r--sql/updates/world/2014_07_07_03_world_spell_misc.sql7
-rw-r--r--sql/updates/world/2014_07_08_00_world_creature_queststarter.sql99
-rw-r--r--sql/updates/world/2014_07_08_00_world_misc.sql39
-rw-r--r--sql/updates/world/2014_07_08_01_world_quest_template.sql2
-rw-r--r--sql/updates/world/2014_07_08_02_world_misc.sql593
-rw-r--r--sql/updates/world/2014_07_08_03_world_creature.sql5
-rw-r--r--sql/updates/world/2014_07_08_04_world_creature.sql11
-rw-r--r--sql/updates/world/2014_07_08_05_world_misc.sql48
-rw-r--r--sql/updates/world/2014_07_08_06_world_misc.sql14
-rw-r--r--sql/updates/world/2014_07_08_07_world_quest_template.sql2
-rw-r--r--sql/updates/world/2014_07_08_08_world_quest_template.sql2
-rw-r--r--sql/updates/world/2014_07_08_09_world_misc.sql17
-rw-r--r--sql/updates/world/2014_07_08_10_world_misc.sql34
-rw-r--r--sql/updates/world/2014_07_08_11_world_misc.sql53
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.cpp4
-rw-r--r--src/server/game/Battlegrounds/BattlegroundScore.h4
-rw-r--r--src/server/game/DataStores/DBCEnums.h6
-rw-r--r--src/server/game/DataStores/DBCStores.cpp2
-rw-r--r--src/server/game/DataStores/DBCStructure.h19
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp11
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h2
-rw-r--r--src/server/game/Entities/Object/Object.cpp48
-rw-r--r--src/server/game/Entities/Player/Player.cpp283
-rw-r--r--src/server/game/Entities/Player/Player.h16
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp41
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp131
-rw-r--r--src/server/game/Globals/ObjectMgr.h2
-rw-r--r--src/server/game/Maps/Map.cpp5
-rw-r--r--src/server/game/Movement/PathGenerator.cpp38
-rw-r--r--src/server/game/Movement/PathGenerator.h2
-rw-r--r--src/server/game/Spells/Spell.cpp46
-rw-r--r--src/server/game/Spells/SpellEffects.cpp15
-rw-r--r--src/server/game/Spells/SpellInfo.cpp2
-rw-r--r--src/server/game/Spells/SpellMgr.cpp2
-rw-r--r--src/server/scripts/Commands/cs_learn.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp158
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h3
-rw-r--r--src/server/scripts/Spells/spell_item.cpp40
-rw-r--r--src/server/scripts/Spells/spell_shaman.cpp38
-rw-r--r--src/tools/vmap4_extractor/model.cpp21
307 files changed, 1738 insertions, 343 deletions
diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql
index 76cddd7e45d..743ca008ef7 100644
--- a/sql/base/auth_database.sql
+++ b/sql/base/auth_database.sql
@@ -225,7 +225,7 @@ DROP TABLE IF EXISTS `logs`;
CREATE TABLE `logs` (
`time` int(10) unsigned NOT NULL,
`realm` int(10) unsigned NOT NULL,
- `type` varchar(250) DEFAULT NULL,
+ `type` varchar(250) NOT NULL,
`level` tinyint(3) unsigned NOT NULL DEFAULT '0',
`string` text CHARACTER SET latin1
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -372,7 +372,7 @@ CREATE TABLE `rbac_permissions` (
LOCK TABLES `rbac_permissions` WRITE;
/*!40000 ALTER TABLE `rbac_permissions` DISABLE KEYS */;
-INSERT INTO `rbac_permissions` VALUES (1,'Instant logout'),(2,'Skip Queue'),(3,'Join Normal Battleground'),(4,'Join Random Battleground'),(5,'Join Arenas'),(6,'Join Dungeon Finder'),(11,'Log GM trades'),(13,'Skip Instance required bosses check'),(14,'Skip character creation team mask check'),(15,'Skip character creation class mask check'),(16,'Skip character creation race mask check'),(17,'Skip character creation reserved name check'),(18,'Skip character creation heroic min level check'),(19,'Skip needed requirements to use channel check'),(20,'Skip disable map check'),(21,'Skip reset talents when used more than allowed check'),(22,'Skip spam chat check'),(23,'Skip over-speed ping check'),(24,'Two side faction characters on the same account'),(25,'Allow say chat between factions'),(26,'Allow channel chat between factions'),(27,'Two side mail interaction'),(28,'See two side who list'),(29,'Add friends of other faction'),(30,'Save character without delay with .save command'),(31,'Use params with .unstuck command'),(32,'Can be assigned tickets with .assign ticket command'),(33,'Notify if a command was not found'),(34,'Check if should appear in list using .gm ingame command'),(35,'See all security levels with who command'),(36,'Filter whispers'),(37,'Use staff badge in chat'),(38,'Resurrect with full Health Points'),(39,'Restore saved gm setting states'),(40,'Allows to add a gm to friend list'),(41,'Use Config option START_GM_LEVEL to assign new character level'),(42,'Allows to use CMSG_WORLD_TELEPORT opcode'),(43,'Allows to use CMSG_WHOIS opcode'),(44,'Receive global GM messages/texts'),(45,'Join channels without announce'),(46,'Change channel settings without being channel moderator'),(47,'Enables lower security than target check'),(48,'Enable IP, Last Login and EMail output in pinfo'),(49,'Forces to enter the email for confirmation on password change'),(50,'Allow user to check his own email with .account'),(192,'Role: Sec Level Administrator'),(193,'Role: Sec Level Gamemaster'),(194,'Role: Sec Level Moderator'),(195,'Role: Sec Level Player'),(196,'Role: Administrator Commands'),(197,'Role: Gamemaster Commands'),(198,'Role: Moderator Commands'),(199,'Role: Player Commands'),(200,'Command: rbac'),(201,'Command: rbac account'),(202,'Command: rbac account list'),(203,'Command: rbac account grant'),(204,'Command: rbac account deny'),(205,'Command: rbac account revoke'),(206,'Command: rbac list'),(217,'Command: account'),(218,'Command: account addon'),(219,'Command: account create'),(220,'Command: account delete'),(221,'Command: account lock'),(222,'Command: account lock country'),(223,'Command: account lock ip'),(224,'Command: account onlinelist'),(225,'Command: account password'),(226,'Command: account set'),(227,'Command: account set addon'),(228,'Command: account set gmlevel'),(229,'Command: account set password'),(230,'Command: achievement'),(231,'Command: achievement add'),(232,'Command: arena'),(233,'Command: arena captain'),(234,'Command: arena create'),(235,'Command: arena disband'),(236,'Command: arena info'),(237,'Command: arena lookup'),(238,'Command: arena rename'),(239,'Command: ban'),(240,'Command: ban account'),(241,'Command: ban character'),(242,'Command: ban ip'),(243,'Command: ban playeraccount'),(244,'Command: baninfo'),(245,'Command: baninfo account'),(246,'Command: baninfo character'),(247,'Command: baninfo ip'),(248,'Command: banlist'),(249,'Command: banlist account'),(250,'Command: banlist character'),(251,'Command: banlist ip'),(252,'Command: unban'),(253,'Command: unban account'),(254,'Command: unban character'),(255,'Command: unban ip'),(256,'Command: unban playeraccount'),(257,'Command: bf'),(258,'Command: bf start'),(259,'Command: bf stop'),(260,'Command: bf switch'),(261,'Command: bf timer'),(262,'Command: bf enable'),(263,'Command: account email'),(264,'Command: account set sec'),(265,'Command: account set sec email'),(266,'Command: account set sec regmail'),(267,'Command: cast'),(268,'Command: cast back'),(269,'Command: cast dist'),(270,'Command: cast self'),(271,'Command: cast target'),(272,'Command: cast dest'),(273,'Command: character'),(274,'Command: character customize'),(275,'Command: character changefaction'),(276,'Command: character changerace'),(277,'Command: character deleted'),(279,'Command: character deleted list'),(280,'Command: character deleted restore'),(283,'Command: character level'),(284,'Command: character rename'),(285,'Command: character reputation'),(286,'Command: character titles'),(287,'Command: levelup'),(288,'Command: pdump'),(289,'Command: pdump load'),(290,'Command: pdump write'),(291,'Command: cheat'),(292,'Command: cheat casttime'),(293,'Command: cheat cooldown'),(294,'Command: cheat explore'),(295,'Command: cheat god'),(296,'Command: cheat power'),(297,'Command: cheat status'),(298,'Command: cheat taxi'),(299,'Command: cheat waterwalk'),(300,'Command: debug'),(301,'Command: debug anim'),(302,'Command: debug areatriggers'),(303,'Command: debug arena'),(304,'Command: debug bg'),(305,'Command: debug entervehicle'),(306,'Command: debug getitemstate'),(307,'Command: debug getitemvalue'),(308,'Command: debug getvalue'),(309,'Command: debug hostil'),(310,'Command: debug itemexpire'),(311,'Command: debug lootrecipient'),(312,'Command: debug los'),(313,'Command: debug mod32value'),(314,'Command: debug moveflags'),(315,'Command: debug play'),(316,'Command: debug play cinematics'),(317,'Command: debug play movie'),(318,'Command: debug play sound'),(319,'Command: debug send'),(320,'Command: debug send buyerror'),(321,'Command: debug send channelnotify'),(322,'Command: debug send chatmessage'),(323,'Command: debug send equiperror'),(324,'Command: debug send largepacket'),(325,'Command: debug send opcode'),(326,'Command: debug send qinvalidmsg'),(327,'Command: debug send qpartymsg'),(328,'Command: debug send sellerror'),(329,'Command: debug send setphaseshift'),(330,'Command: debug send spellfail'),(331,'Command: debug setaurastate'),(332,'Command: debug setbit'),(333,'Command: debug setitemvalue'),(334,'Command: debug setvalue'),(335,'Command: debug setvid'),(336,'Command: debug spawnvehicle'),(337,'Command: debug threat'),(338,'Command: debug update'),(339,'Command: debug uws'),(340,'Command: wpgps'),(341,'Command: deserter'),(342,'Command: deserter bg'),(343,'Command: deserter bg add'),(344,'Command: deserter bg remove'),(345,'Command: deserter instance'),(346,'Command: deserter instance add'),(347,'Command: deserter instance remove'),(348,'Command: disable'),(349,'Command: disable add'),(350,'Command: disable add achievement_criteria'),(351,'Command: disable add battleground'),(352,'Command: disable add map'),(353,'Command: disable add mmap'),(354,'Command: disable add outdoorpvp'),(355,'Command: disable add quest'),(356,'Command: disable add spell'),(357,'Command: disable add vmap'),(358,'Command: disable remove'),(359,'Command: disable remove achievement_criteria'),(360,'Command: disable remove battleground'),(361,'Command: disable remove map'),(362,'Command: disable remove mmap'),(363,'Command: disable remove outdoorpvp'),(364,'Command: disable remove quest'),(365,'Command: disable remove spell'),(366,'Command: disable remove vmap'),(367,'Command: event'),(368,'Command: event activelist'),(369,'Command: event start'),(370,'Command: event stop'),(371,'Command: gm'),(372,'Command: gm chat'),(373,'Command: gm fly'),(374,'Command: gm ingame'),(375,'Command: gm list'),(376,'Command: gm visible'),(377,'Command: go'),(378,'Command: go creature'),(379,'Command: go graveyard'),(380,'Command: go grid'),(381,'Command: go object'),(382,'Command: go taxinode'),(383,'Command: go ticket'),(384,'Command: go trigger'),(385,'Command: go xyz'),(386,'Command: go zonexy'),(387,'Command: gobject'),(388,'Command: gobject activate'),(389,'Command: gobject add'),(390,'Command: gobject add temp'),(391,'Command: gobject delete'),(392,'Command: gobject info'),(393,'Command: gobject move'),(394,'Command: gobject near'),(395,'Command: gobject set'),(396,'Command: gobject set phase'),(397,'Command: gobject set state'),(398,'Command: gobject target'),(399,'Command: gobject turn'),(400,'debug transport'),(401,'Command: guild'),(402,'Command: guild create'),(403,'Command: guild delete'),(404,'Command: guild invite'),(405,'Command: guild uninvite'),(406,'Command: guild rank'),(407,'Command: guild rename'),(408,'Command: honor'),(409,'Command: honor add'),(410,'Command: honor add kill'),(411,'Command: honor update'),(412,'Command: instance'),(413,'Command: instance listbinds'),(414,'Command: instance unbind'),(415,'Command: instance stats'),(416,'Command: instance savedata'),(417,'Command: learn'),(418,'Command: learn all'),(419,'Command: learn all my'),(420,'Command: learn all my class'),(421,'Command: learn all my pettalents'),(422,'Command: learn all my spells'),(423,'Command: learn all my talents'),(424,'Command: learn all gm'),(425,'Command: learn all crafts'),(426,'Command: learn all default'),(427,'Command: learn all lang'),(428,'Command: learn all recipes'),(429,'Command: unlearn'),(430,'Command: lfg'),(431,'Command: lfg player'),(432,'Command: lfg group'),(433,'Command: lfg queue'),(434,'Command: lfg clean'),(435,'Command: lfg options'),(436,'Command: list'),(437,'Command: list creature'),(438,'Command: list item'),(439,'Command: list object'),(440,'Command: list auras'),(441,'Command: list mail'),(442,'Command: lookup'),(443,'Command: lookup area'),(444,'Command: lookup creature'),(445,'Command: lookup event'),(446,'Command: lookup faction'),(447,'Command: lookup item'),(448,'Command: lookup itemset'),(449,'Command: lookup object'),(450,'Command: lookup quest'),(451,'Command: lookup player'),(452,'Command: lookup player ip'),(453,'Command: lookup player account'),(454,'Command: lookup player email'),(455,'Command: lookup skill'),(456,'Command: lookup spell'),(457,'Command: lookup spell id'),(458,'Command: lookup taxinode'),(459,'Command: lookup tele'),(460,'Command: lookup title'),(461,'Command: lookup map'),(462,'Command: announce'),(463,'Command: channel'),(464,'Command: channel set'),(465,'Command: channel set ownership'),(466,'Command: gmannounce'),(467,'Command: gmnameannounce'),(468,'Command: gmnotify'),(469,'Command: nameannounce'),(470,'Command: notify'),(471,'Command: whispers'),(472,'Command: group'),(473,'Command: group leader'),(474,'Command: group disband'),(475,'Command: group remove'),(476,'Command: group join'),(477,'Command: group list'),(478,'Command: group summon'),(479,'Command: pet'),(480,'Command: pet create'),(481,'Command: pet learn'),(482,'Command: pet unlearn'),(483,'Command: send'),(484,'Command: send items'),(485,'Command: send mail'),(486,'Command: send message'),(487,'Command: send money'),(488,'Command: additem'),(489,'Command: additemset'),(490,'Command: appear'),(491,'Command: aura'),(492,'Command: bank'),(493,'Command: bindsight'),(494,'Command: combatstop'),(495,'Command: cometome'),(496,'Command: commands'),(497,'Command: cooldown'),(498,'Command: damage'),(499,'Command: dev'),(500,'Command: die'),(501,'Command: dismount'),(502,'Command: distance'),(503,'Command: flusharenapoints'),(504,'Command: freeze'),(505,'Command: gps'),(506,'Command: guid'),(507,'Command: help'),(508,'Command: hidearea'),(509,'Command: itemmove'),(510,'Command: kick'),(511,'Command: linkgrave'),(512,'Command: listfreeze'),(513,'Command: maxskill'),(514,'Command: movegens'),(515,'Command: mute'),(516,'Command: neargrave'),(517,'Command: pinfo'),(518,'Command: playall'),(519,'Command: possess'),(520,'Command: recall'),(521,'Command: repairitems'),(522,'Command: respawn'),(523,'Command: revive'),(524,'Command: saveall'),(525,'Command: save'),(526,'Command: setskill'),(527,'Command: showarea'),(528,'Command: summon'),(529,'Command: unaura'),(530,'Command: unbindsight'),(531,'Command: unfreeze'),(532,'Command: unmute'),(533,'Command: unpossess'),(534,'Command: unstuck'),(535,'Command: wchange'),(536,'Command: mmap'),(537,'Command: mmap loadedtiles'),(538,'Command: mmap loc'),(539,'Command: mmap path'),(540,'Command: mmap stats'),(541,'Command: mmap testarea'),(542,'Command: morph'),(543,'Command: demorph'),(544,'Command: modify'),(545,'Command: modify arenapoints'),(546,'Command: modify bit'),(547,'Command: modify drunk'),(548,'Command: modify energy'),(549,'Command: modify faction'),(550,'Command: modify gender'),(551,'Command: modify honor'),(552,'Command: modify hp'),(553,'Command: modify mana'),(554,'Command: modify money'),(555,'Command: modify mount'),(556,'Command: modify phase'),(557,'Command: modify rage'),(558,'Command: modify reputation'),(559,'Command: modify runicpower'),(560,'Command: modify scale'),(561,'Command: modify speed'),(562,'Command: modify speed all'),(563,'Command: modify speed backwalk'),(564,'Command: modify speed fly'),(565,'Command: modify speed walk'),(566,'Command: modify speed swim'),(567,'Command: modify spell'),(568,'Command: modify standstate'),(569,'Command: modify talentpoints'),(570,'Command: npc'),(571,'Command: npc add'),(572,'Command: npc add formation'),(573,'Command: npc add item'),(574,'Command: npc add move'),(575,'Command: npc add temp'),(576,'Command: npc add delete'),(577,'Command: npc add delete item'),(578,'Command: npc add follow'),(579,'Command: npc add follow stop'),(580,'Command: npc set'),(581,'Command: npc set allowmove'),(582,'Command: npc set entry'),(583,'Command: npc set factionid'),(584,'Command: npc set flag'),(585,'Command: npc set level'),(586,'Command: npc set link'),(587,'Command: npc set model'),(588,'Command: npc set movetype'),(589,'Command: npc set phase'),(590,'Command: npc set spawndist'),(591,'Command: npc set spawntime'),(592,'Command: npc set data'),(593,'Command: npc info'),(594,'Command: npc near'),(595,'Command: npc move'),(596,'Command: npc playemote'),(597,'Command: npc say'),(598,'Command: npc textemote'),(599,'Command: npc whisper'),(600,'Command: npc yell'),(601,'Command: npc tame'),(602,'Command: quest'),(603,'Command: quest add'),(604,'Command: quest complete'),(605,'Command: quest remove'),(606,'Command: quest reward'),(607,'Command: reload'),(608,'Command: reload access_requirement'),(609,'Command: reload achievement_criteria_data'),(610,'Command: reload achievement_reward'),(611,'Command: reload all'),(612,'Command: reload all achievement'),(613,'Command: reload all area'),(614,'Command: mailbox'),(615,'Command: reload all gossips'),(616,'Command: reload all item'),(617,'Command: reload all locales'),(618,'Command: reload all loot'),(619,'Command: reload all npc'),(620,'Command: reload all quest'),(621,'Command: reload all scripts'),(622,'Command: reload all spell'),(623,'Command: reload areatrigger_involvedrelation'),(624,'Command: reload areatrigger_tavern'),(625,'Command: reload areatrigger_teleport'),(626,'Command: reload auctions'),(627,'Command: reload autobroadcast'),(628,'Command: reload command'),(629,'Command: reload conditions'),(630,'Command: reload config'),(633,'Command: reload creature_linked_respawn'),(634,'Command: reload creature_loot_template'),(635,'Command: reload creature_onkill_reputation'),(636,'Command: reload creature_questender'),(637,'Command: reload creature_queststarter'),(638,'Command: reload creature_summon_groups'),(639,'Command: reload creature_template'),(640,'Command: reload creature_text'),(641,'Command: reload disables'),(642,'Command: reload disenchant_loot_template'),(643,'Command: reload event_scripts'),(644,'Command: reload fishing_loot_template'),(645,'Command: reload game_graveyard_zone'),(646,'Command: reload game_tele'),(647,'Command: reload gameobject_questender'),(648,'Command: reload gameobject_loot_template'),(649,'Command: reload gameobject_queststarter'),(650,'Command: reload gm_tickets'),(651,'Command: reload gossip_menu'),(652,'Command: reload gossip_menu_option'),(653,'Command: reload item_enchantment_template'),(654,'Command: reload item_loot_template'),(655,'Command: reload item_set_names'),(656,'Command: reload lfg_dungeon_rewards'),(657,'Command: reload locales_achievement_reward'),(658,'Command: reload locales_creature'),(659,'Command: reload locales_creature_text'),(660,'Command: reload locales_gameobject'),(661,'Command: reload locales_gossip_menu_option'),(662,'Command: reload locales_item'),(663,'Command: reload locales_item_set_name'),(664,'Command: reload locales_npc_text'),(665,'Command: reload locales_page_text'),(666,'Command: reload locales_points_of_interest'),(667,'Command: reload locales_quest'),(668,'Command: reload mail_level_reward'),(669,'Command: reload mail_loot_template'),(670,'Command: reload milling_loot_template'),(671,'Command: reload npc_spellclick_spells'),(672,'Command: reload npc_trainer'),(673,'Command: reload npc_vendor'),(674,'Command: reload page_text'),(675,'Command: reload pickpocketing_loot_template'),(676,'Command: reload points_of_interest'),(677,'Command: reload prospecting_loot_template'),(678,'Command: reload quest_poi'),(679,'Command: reload quest_template'),(680,'Command: reload rbac'),(681,'Command: reload reference_loot_template'),(682,'Command: reload reserved_name'),(683,'Command: reload reputation_reward_rate'),(684,'Command: reload reputation_spillover_template'),(685,'Command: reload skill_discovery_template'),(686,'Command: reload skill_extra_item_template'),(687,'Command: reload skill_fishing_base_level'),(688,'Command: reload skinning_loot_template'),(689,'Command: reload smart_scripts'),(690,'Command: reload spell_required'),(691,'Command: reload spell_area'),(692,'Command: reload spell_bonus_data'),(693,'Command: reload spell_group'),(694,'Command: reload spell_learn_spell'),(695,'Command: reload spell_loot_template'),(696,'Command: reload spell_linked_spell'),(697,'Command: reload spell_pet_auras'),(698,'Command: reload spell_proc_event'),(699,'Command: reload spell_proc'),(700,'Command: reload spell_scripts'),(701,'Command: reload spell_target_position'),(702,'Command: reload spell_threats'),(703,'Command: reload spell_group_stack_rules'),(704,'Command: reload trinity_string'),(705,'Command: reload warden_action'),(706,'Command: reload waypoint_scripts'),(707,'Command: reload waypoint_data'),(708,'Command: reload vehicle_accessory'),(709,'Command: reload vehicle_template_accessory'),(710,'Command: reset'),(711,'Command: reset achievements'),(712,'Command: reset honor'),(713,'Command: reset level'),(714,'Command: reset spells'),(715,'Command: reset stats'),(716,'Command: reset talents'),(717,'Command: reset all'),(718,'Command: server'),(719,'Command: server corpses'),(720,'Command: server exit'),(721,'Command: server idlerestart'),(722,'Command: server idlerestart cancel'),(723,'Command: server idleshutdown'),(724,'Command: server idleshutdown cancel'),(725,'Command: server info'),(726,'Command: server plimit'),(727,'Command: server restart'),(728,'Command: server restart cancel'),(729,'Command: server set'),(730,'Command: server set closed'),(731,'Command: server set difftime'),(732,'Command: server set loglevel'),(733,'Command: server set motd'),(734,'Command: server shutdown'),(735,'Command: server shutdown cancel'),(736,'Command: server motd'),(737,'Command: tele'),(738,'Command: tele add'),(739,'Command: tele del'),(740,'Command: tele name'),(741,'Command: tele group'),(742,'Command: ticket'),(743,'Command: ticket assign'),(744,'Command: ticket close'),(745,'Command: ticket closedlist'),(746,'Command: ticket comment'),(747,'Command: ticket complete'),(748,'Command: ticket delete'),(749,'Command: ticket escalate'),(750,'Command: ticket escalatedlist'),(751,'Command: ticket list'),(752,'Command: ticket onlinelist'),(753,'Command: ticket reset'),(754,'Command: ticket response'),(755,'Command: ticket response append'),(756,'Command: ticket response appendln'),(757,'Command: ticket togglesystem'),(758,'Command: ticket unassign'),(759,'Command: ticket viewid'),(760,'Command: ticket viewname'),(761,'Command: titles'),(762,'Command: titles add'),(763,'Command: titles current'),(764,'Command: titles remove'),(765,'Command: titles set'),(766,'Command: titles set mask'),(767,'Command: wp'),(768,'Command: wp add'),(769,'Command: wp event'),(770,'Command: wp load'),(771,'Command: wp modify'),(772,'Command: wp unload'),(773,'Command: wp reload'),(774,'Command: wp show'),(777,'Command: mailbox');
+INSERT INTO `rbac_permissions` VALUES (1,'Instant logout'),(2,'Skip Queue'),(3,'Join Normal Battleground'),(4,'Join Random Battleground'),(5,'Join Arenas'),(6,'Join Dungeon Finder'),(11,'Log GM trades'),(13,'Skip Instance required bosses check'),(14,'Skip character creation team mask check'),(15,'Skip character creation class mask check'),(16,'Skip character creation race mask check'),(17,'Skip character creation reserved name check'),(18,'Skip character creation heroic min level check'),(19,'Skip needed requirements to use channel check'),(20,'Skip disable map check'),(21,'Skip reset talents when used more than allowed check'),(22,'Skip spam chat check'),(23,'Skip over-speed ping check'),(24,'Two side faction characters on the same account'),(25,'Allow say chat between factions'),(26,'Allow channel chat between factions'),(27,'Two side mail interaction'),(28,'See two side who list'),(29,'Add friends of other faction'),(30,'Save character without delay with .save command'),(31,'Use params with .unstuck command'),(32,'Can be assigned tickets with .assign ticket command'),(33,'Notify if a command was not found'),(34,'Check if should appear in list using .gm ingame command'),(35,'See all security levels with who command'),(36,'Filter whispers'),(37,'Use staff badge in chat'),(38,'Resurrect with full Health Points'),(39,'Restore saved gm setting states'),(40,'Allows to add a gm to friend list'),(41,'Use Config option START_GM_LEVEL to assign new character level'),(42,'Allows to use CMSG_WORLD_TELEPORT opcode'),(43,'Allows to use CMSG_WHOIS opcode'),(44,'Receive global GM messages/texts'),(45,'Join channels without announce'),(46,'Change channel settings without being channel moderator'),(47,'Enables lower security than target check'),(48,'Enable IP, Last Login and EMail output in pinfo'),(49,'Forces to enter the email for confirmation on password change'),(50,'Allow user to check his own email with .account'),(192,'Role: Sec Level Administrator'),(193,'Role: Sec Level Gamemaster'),(194,'Role: Sec Level Moderator'),(195,'Role: Sec Level Player'),(196,'Role: Administrator Commands'),(197,'Role: Gamemaster Commands'),(198,'Role: Moderator Commands'),(199,'Role: Player Commands'),(200,'Command: rbac'),(201,'Command: rbac account'),(202,'Command: rbac account list'),(203,'Command: rbac account grant'),(204,'Command: rbac account deny'),(205,'Command: rbac account revoke'),(206,'Command: rbac list'),(217,'Command: account'),(218,'Command: account addon'),(219,'Command: account create'),(220,'Command: account delete'),(221,'Command: account lock'),(222,'Command: account lock country'),(223,'Command: account lock ip'),(224,'Command: account onlinelist'),(225,'Command: account password'),(226,'Command: account set'),(227,'Command: account set addon'),(228,'Command: account set gmlevel'),(229,'Command: account set password'),(230,'Command: achievement'),(231,'Command: achievement add'),(232,'Command: arena'),(233,'Command: arena captain'),(234,'Command: arena create'),(235,'Command: arena disband'),(236,'Command: arena info'),(237,'Command: arena lookup'),(238,'Command: arena rename'),(239,'Command: ban'),(240,'Command: ban account'),(241,'Command: ban character'),(242,'Command: ban ip'),(243,'Command: ban playeraccount'),(244,'Command: baninfo'),(245,'Command: baninfo account'),(246,'Command: baninfo character'),(247,'Command: baninfo ip'),(248,'Command: banlist'),(249,'Command: banlist account'),(250,'Command: banlist character'),(251,'Command: banlist ip'),(252,'Command: unban'),(253,'Command: unban account'),(254,'Command: unban character'),(255,'Command: unban ip'),(256,'Command: unban playeraccount'),(257,'Command: bf'),(258,'Command: bf start'),(259,'Command: bf stop'),(260,'Command: bf switch'),(261,'Command: bf timer'),(262,'Command: bf enable'),(263,'Command: account email'),(264,'Command: account set sec'),(265,'Command: account set sec email'),(266,'Command: account set sec regmail'),(267,'Command: cast'),(268,'Command: cast back'),(269,'Command: cast dist'),(270,'Command: cast self'),(271,'Command: cast target'),(272,'Command: cast dest'),(273,'Command: character'),(274,'Command: character customize'),(275,'Command: character changefaction'),(276,'Command: character changerace'),(277,'Command: character deleted'),(279,'Command: character deleted list'),(280,'Command: character deleted restore'),(283,'Command: character level'),(284,'Command: character rename'),(285,'Command: character reputation'),(286,'Command: character titles'),(287,'Command: levelup'),(288,'Command: pdump'),(289,'Command: pdump load'),(290,'Command: pdump write'),(291,'Command: cheat'),(292,'Command: cheat casttime'),(293,'Command: cheat cooldown'),(294,'Command: cheat explore'),(295,'Command: cheat god'),(296,'Command: cheat power'),(297,'Command: cheat status'),(298,'Command: cheat taxi'),(299,'Command: cheat waterwalk'),(300,'Command: debug'),(301,'Command: debug anim'),(302,'Command: debug areatriggers'),(303,'Command: debug arena'),(304,'Command: debug bg'),(305,'Command: debug entervehicle'),(306,'Command: debug getitemstate'),(307,'Command: debug getitemvalue'),(308,'Command: debug getvalue'),(309,'Command: debug hostil'),(310,'Command: debug itemexpire'),(311,'Command: debug lootrecipient'),(312,'Command: debug los'),(313,'Command: debug mod32value'),(314,'Command: debug moveflags'),(315,'Command: debug play'),(316,'Command: debug play cinematics'),(317,'Command: debug play movie'),(318,'Command: debug play sound'),(319,'Command: debug send'),(320,'Command: debug send buyerror'),(321,'Command: debug send channelnotify'),(322,'Command: debug send chatmessage'),(323,'Command: debug send equiperror'),(324,'Command: debug send largepacket'),(325,'Command: debug send opcode'),(326,'Command: debug send qinvalidmsg'),(327,'Command: debug send qpartymsg'),(328,'Command: debug send sellerror'),(329,'Command: debug send setphaseshift'),(330,'Command: debug send spellfail'),(331,'Command: debug setaurastate'),(332,'Command: debug setbit'),(333,'Command: debug setitemvalue'),(334,'Command: debug setvalue'),(335,'Command: debug setvid'),(336,'Command: debug spawnvehicle'),(337,'Command: debug threat'),(338,'Command: debug update'),(339,'Command: debug uws'),(340,'Command: wpgps'),(341,'Command: deserter'),(342,'Command: deserter bg'),(343,'Command: deserter bg add'),(344,'Command: deserter bg remove'),(345,'Command: deserter instance'),(346,'Command: deserter instance add'),(347,'Command: deserter instance remove'),(348,'Command: disable'),(349,'Command: disable add'),(350,'Command: disable add achievement_criteria'),(351,'Command: disable add battleground'),(352,'Command: disable add map'),(353,'Command: disable add mmap'),(354,'Command: disable add outdoorpvp'),(355,'Command: disable add quest'),(356,'Command: disable add spell'),(357,'Command: disable add vmap'),(358,'Command: disable remove'),(359,'Command: disable remove achievement_criteria'),(360,'Command: disable remove battleground'),(361,'Command: disable remove map'),(362,'Command: disable remove mmap'),(363,'Command: disable remove outdoorpvp'),(364,'Command: disable remove quest'),(365,'Command: disable remove spell'),(366,'Command: disable remove vmap'),(367,'Command: event'),(368,'Command: event activelist'),(369,'Command: event start'),(370,'Command: event stop'),(371,'Command: gm'),(372,'Command: gm chat'),(373,'Command: gm fly'),(374,'Command: gm ingame'),(375,'Command: gm list'),(376,'Command: gm visible'),(377,'Command: go'),(378,'Command: go creature'),(379,'Command: go graveyard'),(380,'Command: go grid'),(381,'Command: go object'),(382,'Command: go taxinode'),(383,'Command: go ticket'),(384,'Command: go trigger'),(385,'Command: go xyz'),(386,'Command: go zonexy'),(387,'Command: gobject'),(388,'Command: gobject activate'),(389,'Command: gobject add'),(390,'Command: gobject add temp'),(391,'Command: gobject delete'),(392,'Command: gobject info'),(393,'Command: gobject move'),(394,'Command: gobject near'),(395,'Command: gobject set'),(396,'Command: gobject set phase'),(397,'Command: gobject set state'),(398,'Command: gobject target'),(399,'Command: gobject turn'),(400,'debug transport'),(401,'Command: guild'),(402,'Command: guild create'),(403,'Command: guild delete'),(404,'Command: guild invite'),(405,'Command: guild uninvite'),(406,'Command: guild rank'),(407,'Command: guild rename'),(408,'Command: honor'),(409,'Command: honor add'),(410,'Command: honor add kill'),(411,'Command: honor update'),(412,'Command: instance'),(413,'Command: instance listbinds'),(414,'Command: instance unbind'),(415,'Command: instance stats'),(416,'Command: instance savedata'),(417,'Command: learn'),(418,'Command: learn all'),(419,'Command: learn all my'),(420,'Command: learn all my class'),(421,'Command: learn all my pettalents'),(422,'Command: learn all my spells'),(423,'Command: learn all my talents'),(424,'Command: learn all gm'),(425,'Command: learn all crafts'),(426,'Command: learn all default'),(427,'Command: learn all lang'),(428,'Command: learn all recipes'),(429,'Command: unlearn'),(430,'Command: lfg'),(431,'Command: lfg player'),(432,'Command: lfg group'),(433,'Command: lfg queue'),(434,'Command: lfg clean'),(435,'Command: lfg options'),(436,'Command: list'),(437,'Command: list creature'),(438,'Command: list item'),(439,'Command: list object'),(440,'Command: list auras'),(441,'Command: list mail'),(442,'Command: lookup'),(443,'Command: lookup area'),(444,'Command: lookup creature'),(445,'Command: lookup event'),(446,'Command: lookup faction'),(447,'Command: lookup item'),(448,'Command: lookup itemset'),(449,'Command: lookup object'),(450,'Command: lookup quest'),(451,'Command: lookup player'),(452,'Command: lookup player ip'),(453,'Command: lookup player account'),(454,'Command: lookup player email'),(455,'Command: lookup skill'),(456,'Command: lookup spell'),(457,'Command: lookup spell id'),(458,'Command: lookup taxinode'),(459,'Command: lookup tele'),(460,'Command: lookup title'),(461,'Command: lookup map'),(462,'Command: announce'),(463,'Command: channel'),(464,'Command: channel set'),(465,'Command: channel set ownership'),(466,'Command: gmannounce'),(467,'Command: gmnameannounce'),(468,'Command: gmnotify'),(469,'Command: nameannounce'),(470,'Command: notify'),(471,'Command: whispers'),(472,'Command: group'),(473,'Command: group leader'),(474,'Command: group disband'),(475,'Command: group remove'),(476,'Command: group join'),(477,'Command: group list'),(478,'Command: group summon'),(479,'Command: pet'),(480,'Command: pet create'),(481,'Command: pet learn'),(482,'Command: pet unlearn'),(483,'Command: send'),(484,'Command: send items'),(485,'Command: send mail'),(486,'Command: send message'),(487,'Command: send money'),(488,'Command: additem'),(489,'Command: additemset'),(490,'Command: appear'),(491,'Command: aura'),(492,'Command: bank'),(493,'Command: bindsight'),(494,'Command: combatstop'),(495,'Command: cometome'),(496,'Command: commands'),(497,'Command: cooldown'),(498,'Command: damage'),(499,'Command: dev'),(500,'Command: die'),(501,'Command: dismount'),(502,'Command: distance'),(503,'Command: flusharenapoints'),(504,'Command: freeze'),(505,'Command: gps'),(506,'Command: guid'),(507,'Command: help'),(508,'Command: hidearea'),(509,'Command: itemmove'),(510,'Command: kick'),(511,'Command: linkgrave'),(512,'Command: listfreeze'),(513,'Command: maxskill'),(514,'Command: movegens'),(515,'Command: mute'),(516,'Command: neargrave'),(517,'Command: pinfo'),(518,'Command: playall'),(519,'Command: possess'),(520,'Command: recall'),(521,'Command: repairitems'),(522,'Command: respawn'),(523,'Command: revive'),(524,'Command: saveall'),(525,'Command: save'),(526,'Command: setskill'),(527,'Command: showarea'),(528,'Command: summon'),(529,'Command: unaura'),(530,'Command: unbindsight'),(531,'Command: unfreeze'),(532,'Command: unmute'),(533,'Command: unpossess'),(534,'Command: unstuck'),(535,'Command: wchange'),(536,'Command: mmap'),(537,'Command: mmap loadedtiles'),(538,'Command: mmap loc'),(539,'Command: mmap path'),(540,'Command: mmap stats'),(541,'Command: mmap testarea'),(542,'Command: morph'),(543,'Command: demorph'),(544,'Command: modify'),(545,'Command: modify arenapoints'),(546,'Command: modify bit'),(547,'Command: modify drunk'),(548,'Command: modify energy'),(549,'Command: modify faction'),(550,'Command: modify gender'),(551,'Command: modify honor'),(552,'Command: modify hp'),(553,'Command: modify mana'),(554,'Command: modify money'),(555,'Command: modify mount'),(556,'Command: modify phase'),(557,'Command: modify rage'),(558,'Command: modify reputation'),(559,'Command: modify runicpower'),(560,'Command: modify scale'),(561,'Command: modify speed'),(562,'Command: modify speed all'),(563,'Command: modify speed backwalk'),(564,'Command: modify speed fly'),(565,'Command: modify speed walk'),(566,'Command: modify speed swim'),(567,'Command: modify spell'),(568,'Command: modify standstate'),(569,'Command: modify talentpoints'),(570,'Command: npc'),(571,'Command: npc add'),(572,'Command: npc add formation'),(573,'Command: npc add item'),(574,'Command: npc add move'),(575,'Command: npc add temp'),(576,'Command: npc add delete'),(577,'Command: npc add delete item'),(578,'Command: npc add follow'),(579,'Command: npc add follow stop'),(580,'Command: npc set'),(581,'Command: npc set allowmove'),(582,'Command: npc set entry'),(583,'Command: npc set factionid'),(584,'Command: npc set flag'),(585,'Command: npc set level'),(586,'Command: npc set link'),(587,'Command: npc set model'),(588,'Command: npc set movetype'),(589,'Command: npc set phase'),(590,'Command: npc set spawndist'),(591,'Command: npc set spawntime'),(592,'Command: npc set data'),(593,'Command: npc info'),(594,'Command: npc near'),(595,'Command: npc move'),(596,'Command: npc playemote'),(597,'Command: npc say'),(598,'Command: npc textemote'),(599,'Command: npc whisper'),(600,'Command: npc yell'),(601,'Command: npc tame'),(602,'Command: quest'),(603,'Command: quest add'),(604,'Command: quest complete'),(605,'Command: quest remove'),(606,'Command: quest reward'),(607,'Command: reload'),(608,'Command: reload access_requirement'),(609,'Command: reload achievement_criteria_data'),(610,'Command: reload achievement_reward'),(611,'Command: reload all'),(612,'Command: reload all achievement'),(613,'Command: reload all area'),(614,'Command: broadcast_text'),(615,'Command: reload all gossips'),(616,'Command: reload all item'),(617,'Command: reload all locales'),(618,'Command: reload all loot'),(619,'Command: reload all npc'),(620,'Command: reload all quest'),(621,'Command: reload all scripts'),(622,'Command: reload all spell'),(623,'Command: reload areatrigger_involvedrelation'),(624,'Command: reload areatrigger_tavern'),(625,'Command: reload areatrigger_teleport'),(626,'Command: reload auctions'),(627,'Command: reload autobroadcast'),(628,'Command: reload command'),(629,'Command: reload conditions'),(630,'Command: reload config'),(633,'Command: reload creature_linked_respawn'),(634,'Command: reload creature_loot_template'),(635,'Command: reload creature_onkill_reputation'),(636,'Command: reload creature_questender'),(637,'Command: reload creature_queststarter'),(638,'Command: reload creature_summon_groups'),(639,'Command: reload creature_template'),(640,'Command: reload creature_text'),(641,'Command: reload disables'),(642,'Command: reload disenchant_loot_template'),(643,'Command: reload event_scripts'),(644,'Command: reload fishing_loot_template'),(645,'Command: reload game_graveyard_zone'),(646,'Command: reload game_tele'),(647,'Command: reload gameobject_questender'),(648,'Command: reload gameobject_loot_template'),(649,'Command: reload gameobject_queststarter'),(650,'Command: reload gm_tickets'),(651,'Command: reload gossip_menu'),(652,'Command: reload gossip_menu_option'),(653,'Command: reload item_enchantment_template'),(654,'Command: reload item_loot_template'),(655,'Command: reload item_set_names'),(656,'Command: reload lfg_dungeon_rewards'),(657,'Command: reload locales_achievement_reward'),(658,'Command: reload locales_creature'),(659,'Command: reload locales_creature_text'),(660,'Command: reload locales_gameobject'),(661,'Command: reload locales_gossip_menu_option'),(662,'Command: reload locales_item'),(663,'Command: reload locales_item_set_name'),(664,'Command: reload locales_npc_text'),(665,'Command: reload locales_page_text'),(666,'Command: reload locales_points_of_interest'),(667,'Command: reload locales_quest'),(668,'Command: reload mail_level_reward'),(669,'Command: reload mail_loot_template'),(670,'Command: reload milling_loot_template'),(671,'Command: reload npc_spellclick_spells'),(672,'Command: reload npc_trainer'),(673,'Command: reload npc_vendor'),(674,'Command: reload page_text'),(675,'Command: reload pickpocketing_loot_template'),(676,'Command: reload points_of_interest'),(677,'Command: reload prospecting_loot_template'),(678,'Command: reload quest_poi'),(679,'Command: reload quest_template'),(680,'Command: reload rbac'),(681,'Command: reload reference_loot_template'),(682,'Command: reload reserved_name'),(683,'Command: reload reputation_reward_rate'),(684,'Command: reload reputation_spillover_template'),(685,'Command: reload skill_discovery_template'),(686,'Command: reload skill_extra_item_template'),(687,'Command: reload skill_fishing_base_level'),(688,'Command: reload skinning_loot_template'),(689,'Command: reload smart_scripts'),(690,'Command: reload spell_required'),(691,'Command: reload spell_area'),(692,'Command: reload spell_bonus_data'),(693,'Command: reload spell_group'),(694,'Command: reload spell_learn_spell'),(695,'Command: reload spell_loot_template'),(696,'Command: reload spell_linked_spell'),(697,'Command: reload spell_pet_auras'),(698,'Command: reload spell_proc_event'),(699,'Command: reload spell_proc'),(700,'Command: reload spell_scripts'),(701,'Command: reload spell_target_position'),(702,'Command: reload spell_threats'),(703,'Command: reload spell_group_stack_rules'),(704,'Command: reload trinity_string'),(705,'Command: reload warden_action'),(706,'Command: reload waypoint_scripts'),(707,'Command: reload waypoint_data'),(708,'Command: reload vehicle_accessory'),(709,'Command: reload vehicle_template_accessory'),(710,'Command: reset'),(711,'Command: reset achievements'),(712,'Command: reset honor'),(713,'Command: reset level'),(714,'Command: reset spells'),(715,'Command: reset stats'),(716,'Command: reset talents'),(717,'Command: reset all'),(718,'Command: server'),(719,'Command: server corpses'),(720,'Command: server exit'),(721,'Command: server idlerestart'),(722,'Command: server idlerestart cancel'),(723,'Command: server idleshutdown'),(724,'Command: server idleshutdown cancel'),(725,'Command: server info'),(726,'Command: server plimit'),(727,'Command: server restart'),(728,'Command: server restart cancel'),(729,'Command: server set'),(730,'Command: server set closed'),(731,'Command: server set difftime'),(732,'Command: server set loglevel'),(733,'Command: server set motd'),(734,'Command: server shutdown'),(735,'Command: server shutdown cancel'),(736,'Command: server motd'),(737,'Command: tele'),(738,'Command: tele add'),(739,'Command: tele del'),(740,'Command: tele name'),(741,'Command: tele group'),(742,'Command: ticket'),(743,'Command: ticket assign'),(744,'Command: ticket close'),(745,'Command: ticket closedlist'),(746,'Command: ticket comment'),(747,'Command: ticket complete'),(748,'Command: ticket delete'),(749,'Command: ticket escalate'),(750,'Command: ticket escalatedlist'),(751,'Command: ticket list'),(752,'Command: ticket onlinelist'),(753,'Command: ticket reset'),(754,'Command: ticket response'),(755,'Command: ticket response append'),(756,'Command: ticket response appendln'),(757,'Command: ticket togglesystem'),(758,'Command: ticket unassign'),(759,'Command: ticket viewid'),(760,'Command: ticket viewname'),(761,'Command: titles'),(762,'Command: titles add'),(763,'Command: titles current'),(764,'Command: titles remove'),(765,'Command: titles set'),(766,'Command: titles set mask'),(767,'Command: wp'),(768,'Command: wp add'),(769,'Command: wp event'),(770,'Command: wp load'),(771,'Command: wp modify'),(772,'Command: wp unload'),(773,'Command: wp reload'),(774,'Command: wp show'),(777,'Command: mailbox');
/*!40000 ALTER TABLE `rbac_permissions` ENABLE KEYS */;
UNLOCK TABLES;
@@ -471,4 +471,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2014-06-25 18:37:31
+-- Dump completed on 2014-07-08 11:39:12
diff --git a/sql/updates/auth/2014_04_26_00_auth_rbac_permissions.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/auth/2014_04_26_00_auth_rbac_permissions.sql
index 11beed8f106..11beed8f106 100644
--- a/sql/updates/auth/2014_04_26_00_auth_rbac_permissions.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/auth/2014_04_26_00_auth_rbac_permissions.sql
diff --git a/sql/updates/auth/2014_04_28_00_auth_rbac_permissions.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/auth/2014_04_28_00_auth_rbac_permissions.sql
index 290052764dd..290052764dd 100644
--- a/sql/updates/auth/2014_04_28_00_auth_rbac_permissions.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/auth/2014_04_28_00_auth_rbac_permissions.sql
diff --git a/sql/updates/auth/2014_06_23_00_auth_action_ip_logger.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/auth/2014_06_23_00_auth_action_ip_logger.sql
index 375b97d35fc..375b97d35fc 100644
--- a/sql/updates/auth/2014_06_23_00_auth_action_ip_logger.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/auth/2014_06_23_00_auth_action_ip_logger.sql
diff --git a/sql/updates/characters/2014_03_29_00_characters_groups.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/characters/2014_03_29_00_characters_groups.sql
index bec5963c23c..bec5963c23c 100644
--- a/sql/updates/characters/2014_03_29_00_characters_groups.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/characters/2014_03_29_00_characters_groups.sql
diff --git a/sql/updates/characters/2014_04_30_00_characters_character_queststatus_seasonal.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/characters/2014_04_30_00_characters_character_queststatus_seasonal.sql
index 0c063b29df0..0c063b29df0 100644
--- a/sql/updates/characters/2014_04_30_00_characters_character_queststatus_seasonal.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/characters/2014_04_30_00_characters_character_queststatus_seasonal.sql
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/characters/2014_07_01_00_characters_character_skills.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/characters/2014_07_01_00_characters_character_skills.sql
new file mode 100644
index 00000000000..1987adb064c
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/characters/2014_07_01_00_characters_character_skills.sql
@@ -0,0 +1,4 @@
+-- Set fist weapon skill equal to current unarmed skill value
+UPDATE character_skills cs_unarmed INNER JOIN character_skills cs_fist ON cs_unarmed.guid = cs_fist.guid
+SET cs_fist.value = cs_unarmed.value, cs_fist.max = cs_unarmed.max
+WHERE cs_unarmed.skill = 162 AND cs_fist.skill = 473;
diff --git a/sql/updates/world/2014_03_29_00_world_version.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_29_00_world_version.sql
index eefa4650128..eefa4650128 100644
--- a/sql/updates/world/2014_03_29_00_world_version.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_29_00_world_version.sql
diff --git a/sql/updates/world/2014_03_29_01_world_smart_scripts.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_29_01_world_smart_scripts.sql
index f8a147cb14a..f8a147cb14a 100644
--- a/sql/updates/world/2014_03_29_01_world_smart_scripts.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_29_01_world_smart_scripts.sql
diff --git a/sql/updates/world/2014_03_29_02_world_creature.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_29_02_world_creature.sql
index 83de51c8d68..83de51c8d68 100644
--- a/sql/updates/world/2014_03_29_02_world_creature.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_29_02_world_creature.sql
diff --git a/sql/updates/world/2014_03_30_00_world_game_event_335.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_00_world_game_event_335.sql
index fd29efaf072..fd29efaf072 100644
--- a/sql/updates/world/2014_03_30_00_world_game_event_335.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_00_world_game_event_335.sql
diff --git a/sql/updates/world/2014_03_30_01_world_creature.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_01_world_creature.sql
index efd476a24ef..efd476a24ef 100644
--- a/sql/updates/world/2014_03_30_01_world_creature.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_01_world_creature.sql
diff --git a/sql/updates/world/2014_03_30_02_world_game_event_335.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_02_world_game_event_335.sql
index 6cdb47d7ed0..6cdb47d7ed0 100644
--- a/sql/updates/world/2014_03_30_02_world_game_event_335.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_02_world_game_event_335.sql
diff --git a/sql/updates/world/2014_03_30_03_world_smart_scripts.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_03_world_smart_scripts.sql
index a29758426ed..a29758426ed 100644
--- a/sql/updates/world/2014_03_30_03_world_smart_scripts.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_03_world_smart_scripts.sql
diff --git a/sql/updates/world/2014_03_30_04_world_creature_equip_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_04_world_creature_equip_template.sql
index ed795c4e733..ed795c4e733 100644
--- a/sql/updates/world/2014_03_30_04_world_creature_equip_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_04_world_creature_equip_template.sql
diff --git a/sql/updates/world/2014_03_30_05_world_creature_equip_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_05_world_creature_equip_template.sql
index d87487e2b64..d87487e2b64 100644
--- a/sql/updates/world/2014_03_30_05_world_creature_equip_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_05_world_creature_equip_template.sql
diff --git a/sql/updates/world/2014_03_30_06_world_broadcast_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_06_world_broadcast_text.sql
index 3cc9d8cc147..3cc9d8cc147 100644
--- a/sql/updates/world/2014_03_30_06_world_broadcast_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_30_06_world_broadcast_text.sql
diff --git a/sql/updates/world/2014_03_31_00_world_creature_template_addon.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_00_world_creature_template_addon.sql
index 35e30829e40..35e30829e40 100644
--- a/sql/updates/world/2014_03_31_00_world_creature_template_addon.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_00_world_creature_template_addon.sql
diff --git a/sql/updates/world/2014_03_31_01_world_creature_addon.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_01_world_creature_addon.sql
index f3f4fad366f..f3f4fad366f 100644
--- a/sql/updates/world/2014_03_31_01_world_creature_addon.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_01_world_creature_addon.sql
diff --git a/sql/updates/world/2014_03_31_02_world_gameobject_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_02_world_gameobject_template.sql
index 4fd3e5b7504..4fd3e5b7504 100644
--- a/sql/updates/world/2014_03_31_02_world_gameobject_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_02_world_gameobject_template.sql
diff --git a/sql/updates/world/2014_03_31_03_world_gameobject_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_03_world_gameobject_template.sql
index 0bb57454b20..0bb57454b20 100644
--- a/sql/updates/world/2014_03_31_03_world_gameobject_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_03_31_03_world_gameobject_template.sql
diff --git a/sql/updates/world/2014_04_01_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_00_world_misc.sql
index 4459c01a276..4459c01a276 100644
--- a/sql/updates/world/2014_04_01_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_00_world_misc.sql
diff --git a/sql/updates/world/2014_04_01_01_world_gameobject_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_01_world_gameobject_template.sql
index 21f549b99b7..21f549b99b7 100644
--- a/sql/updates/world/2014_04_01_01_world_gameobject_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_01_world_gameobject_template.sql
diff --git a/sql/updates/world/2014_04_01_02_world_gameobject_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_02_world_gameobject_template.sql
index 437efdcd84f..437efdcd84f 100644
--- a/sql/updates/world/2014_04_01_02_world_gameobject_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_02_world_gameobject_template.sql
diff --git a/sql/updates/world/2014_04_01_03_world_gameobject_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_03_world_gameobject_template.sql
index 20304c42740..20304c42740 100644
--- a/sql/updates/world/2014_04_01_03_world_gameobject_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_01_03_world_gameobject_template.sql
diff --git a/sql/updates/world/2014_04_02_00_world_sai.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_02_00_world_sai.sql
index ed7f29bcd64..ed7f29bcd64 100644
--- a/sql/updates/world/2014_04_02_00_world_sai.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_02_00_world_sai.sql
diff --git a/sql/updates/world/2014_04_02_01_world_gameobject_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_02_01_world_gameobject_template.sql
index 4b29cb533b2..4b29cb533b2 100644
--- a/sql/updates/world/2014_04_02_01_world_gameobject_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_02_01_world_gameobject_template.sql
diff --git a/sql/updates/world/2014_04_02_02_world_gameobject_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_02_02_world_gameobject_template.sql
index d7246861dd7..d7246861dd7 100644
--- a/sql/updates/world/2014_04_02_02_world_gameobject_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_02_02_world_gameobject_template.sql
diff --git a/sql/updates/world/2014_04_03_00_world_sai.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_03_00_world_sai.sql
index b8fa9b3b498..b8fa9b3b498 100644
--- a/sql/updates/world/2014_04_03_00_world_sai.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_03_00_world_sai.sql
diff --git a/sql/updates/world/2014_04_04_00_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_04_00_world_creature_template.sql
index e3386426bd6..e3386426bd6 100644
--- a/sql/updates/world/2014_04_04_00_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_04_00_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_05_00_world_spell_script_names.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_05_00_world_spell_script_names.sql
index f5abac98e78..f5abac98e78 100644
--- a/sql/updates/world/2014_04_05_00_world_spell_script_names.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_05_00_world_spell_script_names.sql
diff --git a/sql/updates/world/2014_04_12_00_world_spell_bonus_data.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_12_00_world_spell_bonus_data.sql
index f34878ce479..f34878ce479 100644
--- a/sql/updates/world/2014_04_12_00_world_spell_bonus_data.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_12_00_world_spell_bonus_data.sql
diff --git a/sql/updates/world/2014_04_13_00_world_broadcast_text_conversion.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_13_00_world_broadcast_text_conversion.sql
index 8722eaf423e..8722eaf423e 100644
--- a/sql/updates/world/2014_04_13_00_world_broadcast_text_conversion.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_13_00_world_broadcast_text_conversion.sql
diff --git a/sql/updates/world/2014_04_14_00_world_spell_script_names.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_14_00_world_spell_script_names.sql
index cb1a99ddf52..cb1a99ddf52 100644
--- a/sql/updates/world/2014_04_14_00_world_spell_script_names.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_14_00_world_spell_script_names.sql
diff --git a/sql/updates/world/2014_04_14_01_world_broadcast_text_conversion.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_14_01_world_broadcast_text_conversion.sql
index bd7eb2bc673..bd7eb2bc673 100644
--- a/sql/updates/world/2014_04_14_01_world_broadcast_text_conversion.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_14_01_world_broadcast_text_conversion.sql
diff --git a/sql/updates/world/2014_04_14_02_world_broadcast_text_conversion.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_14_02_world_broadcast_text_conversion.sql
index adca16feb22..adca16feb22 100644
--- a/sql/updates/world/2014_04_14_02_world_broadcast_text_conversion.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_14_02_world_broadcast_text_conversion.sql
diff --git a/sql/updates/world/2014_04_16_00_world_sai.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_16_00_world_sai.sql
index 1c8586131f2..1c8586131f2 100644
--- a/sql/updates/world/2014_04_16_00_world_sai.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_16_00_world_sai.sql
diff --git a/sql/updates/world/2014_04_16_01_world_broadcast_text_conversion.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_16_01_world_broadcast_text_conversion.sql
index 7096724d411..7096724d411 100644
--- a/sql/updates/world/2014_04_16_01_world_broadcast_text_conversion.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_16_01_world_broadcast_text_conversion.sql
diff --git a/sql/updates/world/2014_04_16_02_world_broadcast_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_16_02_world_broadcast_text.sql
index 4d905f36ecf..4d905f36ecf 100644
--- a/sql/updates/world/2014_04_16_02_world_broadcast_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_16_02_world_broadcast_text.sql
diff --git a/sql/updates/world/2014_04_17_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_00_world_misc.sql
index 9deeb5ddef0..9deeb5ddef0 100644
--- a/sql/updates/world/2014_04_17_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_00_world_misc.sql
diff --git a/sql/updates/world/2014_04_17_01_world_spelldifficulty_dbc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_01_world_spelldifficulty_dbc.sql
index 0aa40502b08..0aa40502b08 100644
--- a/sql/updates/world/2014_04_17_01_world_spelldifficulty_dbc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_01_world_spelldifficulty_dbc.sql
diff --git a/sql/updates/world/2014_04_17_02_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_02_world_creature_template.sql
index a2013274b9e..a2013274b9e 100644
--- a/sql/updates/world/2014_04_17_02_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_02_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_17_03_world_spell_area.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_03_world_spell_area.sql
index 4c1bab69b37..4c1bab69b37 100644
--- a/sql/updates/world/2014_04_17_03_world_spell_area.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_03_world_spell_area.sql
diff --git a/sql/updates/world/2014_04_17_04_world_ulduar.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_04_world_ulduar.sql
index 29353bbd925..29353bbd925 100644
--- a/sql/updates/world/2014_04_17_04_world_ulduar.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_17_04_world_ulduar.sql
diff --git a/sql/updates/world/2014_04_18_00_world_spell_script_names.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_18_00_world_spell_script_names.sql
index a1cf5402219..a1cf5402219 100644
--- a/sql/updates/world/2014_04_18_00_world_spell_script_names.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_18_00_world_spell_script_names.sql
diff --git a/sql/updates/world/2014_04_19_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_19_00_world_misc.sql
index 138f0bd8904..138f0bd8904 100644
--- a/sql/updates/world/2014_04_19_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_19_00_world_misc.sql
diff --git a/sql/updates/world/2014_04_19_01_world_quest.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_19_01_world_quest.sql
index a04b7e7b8b0..a04b7e7b8b0 100644
--- a/sql/updates/world/2014_04_19_01_world_quest.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_19_01_world_quest.sql
diff --git a/sql/updates/world/2014_04_20_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_00_world_misc.sql
index 2e98abdbd8a..2e98abdbd8a 100644
--- a/sql/updates/world/2014_04_20_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_00_world_misc.sql
diff --git a/sql/updates/world/2014_04_20_01_world_creature_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_01_world_creature_text.sql
index 8e8ac1813bc..8e8ac1813bc 100644
--- a/sql/updates/world/2014_04_20_01_world_creature_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_01_world_creature_text.sql
diff --git a/sql/updates/world/2014_04_20_02_world_creature_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_02_world_creature_text.sql
index 0a5a064a72d..0a5a064a72d 100644
--- a/sql/updates/world/2014_04_20_02_world_creature_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_02_world_creature_text.sql
diff --git a/sql/updates/world/2014_04_20_03_world_gossip_menu_option.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_03_world_gossip_menu_option.sql
index 7e6b7224173..7e6b7224173 100644
--- a/sql/updates/world/2014_04_20_03_world_gossip_menu_option.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_20_03_world_gossip_menu_option.sql
diff --git a/sql/updates/world/2014_04_21_00_world_smart_scripts.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_00_world_smart_scripts.sql
index 4f69ae50bef..4f69ae50bef 100644
--- a/sql/updates/world/2014_04_21_00_world_smart_scripts.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_00_world_smart_scripts.sql
diff --git a/sql/updates/world/2014_04_21_01_world_quest_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_01_world_quest_template.sql
index 4fe092577e0..4fe092577e0 100644
--- a/sql/updates/world/2014_04_21_01_world_quest_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_01_world_quest_template.sql
diff --git a/sql/updates/world/2014_04_21_02_world_disables.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_02_world_disables.sql
index 44ecba97ea8..44ecba97ea8 100644
--- a/sql/updates/world/2014_04_21_02_world_disables.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_02_world_disables.sql
diff --git a/sql/updates/world/2014_04_21_03_world_smart_scripts.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_03_world_smart_scripts.sql
index 61744b19cd5..61744b19cd5 100644
--- a/sql/updates/world/2014_04_21_03_world_smart_scripts.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_03_world_smart_scripts.sql
diff --git a/sql/updates/world/2014_04_21_04_world_broadcast_text_conversion.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_04_world_broadcast_text_conversion.sql
index 85bfabe352a..85bfabe352a 100644
--- a/sql/updates/world/2014_04_21_04_world_broadcast_text_conversion.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_04_world_broadcast_text_conversion.sql
diff --git a/sql/updates/world/2014_04_21_05_world_gossip_menu.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_05_world_gossip_menu.sql
index 9403c6f4de4..9403c6f4de4 100644
--- a/sql/updates/world/2014_04_21_05_world_gossip_menu.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_05_world_gossip_menu.sql
diff --git a/sql/updates/world/2014_04_21_06_world_locales_broadcast_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_06_world_locales_broadcast_text.sql
index a1401a2eefe..a1401a2eefe 100644
--- a/sql/updates/world/2014_04_21_06_world_locales_broadcast_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_06_world_locales_broadcast_text.sql
diff --git a/sql/updates/world/2014_04_21_07_world_locales_item.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_07_world_locales_item.sql
index c3cdea25531..c3cdea25531 100644
--- a/sql/updates/world/2014_04_21_07_world_locales_item.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_07_world_locales_item.sql
diff --git a/sql/updates/world/2014_04_21_08_world_locales_item_set_names.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_08_world_locales_item_set_names.sql
index 83fbc7c349f..83fbc7c349f 100644
--- a/sql/updates/world/2014_04_21_08_world_locales_item_set_names.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_21_08_world_locales_item_set_names.sql
diff --git a/sql/updates/world/2014_04_22_00_world_locales_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_00_world_locales_gameobject.sql
index fd4c09ae488..fd4c09ae488 100644
--- a/sql/updates/world/2014_04_22_00_world_locales_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_00_world_locales_gameobject.sql
diff --git a/sql/updates/world/2014_04_22_01_world_locales_creature.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_01_world_locales_creature.sql
index 2cfe1c35eac..2cfe1c35eac 100644
--- a/sql/updates/world/2014_04_22_01_world_locales_creature.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_01_world_locales_creature.sql
diff --git a/sql/updates/world/2014_04_22_02_world_creature_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_02_world_creature_text.sql
index 356f7831f10..356f7831f10 100644
--- a/sql/updates/world/2014_04_22_02_world_creature_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_02_world_creature_text.sql
diff --git a/sql/updates/world/2014_04_22_03_world_trinity_string.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_03_world_trinity_string.sql
index dae7fa90935..dae7fa90935 100644
--- a/sql/updates/world/2014_04_22_03_world_trinity_string.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_03_world_trinity_string.sql
diff --git a/sql/updates/world/2014_04_22_04_world_creature_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_04_world_creature_text.sql
index 5d2897120e9..5d2897120e9 100644
--- a/sql/updates/world/2014_04_22_04_world_creature_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_22_04_world_creature_text.sql
diff --git a/sql/updates/world/2014_04_23_00_world_trinity_string.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_00_world_trinity_string.sql
index 1cc88e53aae..1cc88e53aae 100644
--- a/sql/updates/world/2014_04_23_00_world_trinity_string.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_00_world_trinity_string.sql
diff --git a/sql/updates/world/2014_04_23_01_world_locales_quest.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_01_world_locales_quest.sql
index b19d251a4dd..b19d251a4dd 100644
--- a/sql/updates/world/2014_04_23_01_world_locales_quest.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_01_world_locales_quest.sql
diff --git a/sql/updates/world/2014_04_23_02_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_02_world_misc.sql
index c4c45305488..c4c45305488 100644
--- a/sql/updates/world/2014_04_23_02_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_02_world_misc.sql
diff --git a/sql/updates/world/2014_04_23_03_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_03_world_misc.sql
index a66bada05d1..a66bada05d1 100644
--- a/sql/updates/world/2014_04_23_03_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_03_world_misc.sql
diff --git a/sql/updates/world/2014_04_23_04_world_locales_item.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_04_world_locales_item.sql
index f4b7831b8dd..f4b7831b8dd 100644
--- a/sql/updates/world/2014_04_23_04_world_locales_item.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_23_04_world_locales_item.sql
diff --git a/sql/updates/world/2014_04_24_00_world_locales_broadcast_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_00_world_locales_broadcast_text.sql
index 92c0e75fd8a..92c0e75fd8a 100644
--- a/sql/updates/world/2014_04_24_00_world_locales_broadcast_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_00_world_locales_broadcast_text.sql
diff --git a/sql/updates/world/2014_04_24_01_world_locales_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_01_world_locales_gameobject.sql
index b929eb0eed5..b929eb0eed5 100644
--- a/sql/updates/world/2014_04_24_01_world_locales_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_01_world_locales_gameobject.sql
diff --git a/sql/updates/world/2014_04_24_02_world_gossip.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_02_world_gossip.sql
index 141c4aa48f8..141c4aa48f8 100644
--- a/sql/updates/world/2014_04_24_02_world_gossip.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_02_world_gossip.sql
diff --git a/sql/updates/world/2014_04_24_03_world_gossip.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_03_world_gossip.sql
index 302cc485e53..302cc485e53 100644
--- a/sql/updates/world/2014_04_24_03_world_gossip.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_03_world_gossip.sql
diff --git a/sql/updates/world/2014_04_24_04_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_04_world_creature_template.sql
index 50fb9d77624..50fb9d77624 100644
--- a/sql/updates/world/2014_04_24_04_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_24_04_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_26_00_world_command.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_00_world_command.sql
index 6189e81a1d7..6189e81a1d7 100644
--- a/sql/updates/world/2014_04_26_00_world_command.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_00_world_command.sql
diff --git a/sql/updates/world/2014_04_26_01_world_locales_creature.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_01_world_locales_creature.sql
index 4e718cd8ed3..4e718cd8ed3 100644
--- a/sql/updates/world/2014_04_26_01_world_locales_creature.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_01_world_locales_creature.sql
diff --git a/sql/updates/world/2014_04_26_02_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_02_world_misc.sql
index c552bdbf8ae..c552bdbf8ae 100644
--- a/sql/updates/world/2014_04_26_02_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_02_world_misc.sql
diff --git a/sql/updates/world/2014_04_26_03_world_gossip_menu_option.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_03_world_gossip_menu_option.sql
index dd489bcc8a6..dd489bcc8a6 100644
--- a/sql/updates/world/2014_04_26_03_world_gossip_menu_option.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_03_world_gossip_menu_option.sql
diff --git a/sql/updates/world/2014_04_26_04_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_04_world_creature_template.sql
index bd24736e10a..bd24736e10a 100644
--- a/sql/updates/world/2014_04_26_04_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_26_04_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_27_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_00_world_misc.sql
index 4046efcc190..4046efcc190 100644
--- a/sql/updates/world/2014_04_27_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_00_world_misc.sql
diff --git a/sql/updates/world/2014_04_27_01_world_gossip_menu_option.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_01_world_gossip_menu_option.sql
index 0ed8a806cf8..0ed8a806cf8 100644
--- a/sql/updates/world/2014_04_27_01_world_gossip_menu_option.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_01_world_gossip_menu_option.sql
diff --git a/sql/updates/world/2014_04_27_02_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_02_world_creature_template.sql
index 9d5c16410f8..9d5c16410f8 100644
--- a/sql/updates/world/2014_04_27_02_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_02_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_27_03_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_03_world_creature_template.sql
index bcc5bc10226..bcc5bc10226 100644
--- a/sql/updates/world/2014_04_27_03_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_03_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_27_04_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_04_world_creature_template.sql
index 134452b9485..134452b9485 100644
--- a/sql/updates/world/2014_04_27_04_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_04_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_27_05_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_05_world_creature_template.sql
index 323b596eafa..323b596eafa 100644
--- a/sql/updates/world/2014_04_27_05_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_05_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_27_06_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_06_world_creature_template.sql
index 19711483634..19711483634 100644
--- a/sql/updates/world/2014_04_27_06_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_06_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_27_07_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_07_world_creature_template.sql
index a79ab1e0f68..a79ab1e0f68 100644
--- a/sql/updates/world/2014_04_27_07_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_07_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_27_08_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_08_world_creature_template.sql
index 84157ed8633..84157ed8633 100644
--- a/sql/updates/world/2014_04_27_08_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_08_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_27_09_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_09_world_creature_template.sql
index 05da0b277c7..05da0b277c7 100644
--- a/sql/updates/world/2014_04_27_09_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_09_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_27_10_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_10_world_creature_template.sql
index f251bdd51aa..f251bdd51aa 100644
--- a/sql/updates/world/2014_04_27_10_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_27_10_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_28_00_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_00_world_creature_template.sql
index 58b078b9182..58b078b9182 100644
--- a/sql/updates/world/2014_04_28_00_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_00_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_28_01_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_01_world_creature_template.sql
index 0bdd9657c65..0bdd9657c65 100644
--- a/sql/updates/world/2014_04_28_01_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_01_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_28_02_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_02_world_creature_template.sql
index f01b87d53ff..f01b87d53ff 100644
--- a/sql/updates/world/2014_04_28_02_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_02_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_28_03_world_command.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_03_world_command.sql
index 85d17f87fb6..85d17f87fb6 100644
--- a/sql/updates/world/2014_04_28_03_world_command.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_03_world_command.sql
diff --git a/sql/updates/world/2014_04_28_04_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_04_world_misc.sql
index d3dfec611ea..d3dfec611ea 100644
--- a/sql/updates/world/2014_04_28_04_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_04_world_misc.sql
diff --git a/sql/updates/world/2014_04_28_05_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_05_world_misc.sql
index 924e479d07b..924e479d07b 100644
--- a/sql/updates/world/2014_04_28_05_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_05_world_misc.sql
diff --git a/sql/updates/world/2014_04_28_06_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_06_world_creature_template.sql
index 04c8667d5b7..04c8667d5b7 100644
--- a/sql/updates/world/2014_04_28_06_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_06_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_28_07_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_07_world_creature_template.sql
index e8852982748..e8852982748 100644
--- a/sql/updates/world/2014_04_28_07_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_07_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_28_08_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_08_world_creature_template.sql
index e1260de43b1..e1260de43b1 100644
--- a/sql/updates/world/2014_04_28_08_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_08_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_28_09_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_09_world_creature_template.sql
index e7c740b8aca..e7c740b8aca 100644
--- a/sql/updates/world/2014_04_28_09_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_09_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_28_10_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_10_world_misc.sql
index 3739f63cdd9..3739f63cdd9 100644
--- a/sql/updates/world/2014_04_28_10_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_28_10_world_misc.sql
diff --git a/sql/updates/world/2014_04_29_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_00_world_misc.sql
index 0a82d40a24c..0a82d40a24c 100644
--- a/sql/updates/world/2014_04_29_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_00_world_misc.sql
diff --git a/sql/updates/world/2014_04_29_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_01_world_misc.sql
index 92e9589d3e3..92e9589d3e3 100644
--- a/sql/updates/world/2014_04_29_01_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_01_world_misc.sql
diff --git a/sql/updates/world/2014_04_29_02_world_gossip_menu_option.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_02_world_gossip_menu_option.sql
index e3477790571..e3477790571 100644
--- a/sql/updates/world/2014_04_29_02_world_gossip_menu_option.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_02_world_gossip_menu_option.sql
diff --git a/sql/updates/world/2014_04_29_03_world_gossip_menu_option.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_03_world_gossip_menu_option.sql
index 7d39bb8876c..7d39bb8876c 100644
--- a/sql/updates/world/2014_04_29_03_world_gossip_menu_option.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_03_world_gossip_menu_option.sql
diff --git a/sql/updates/world/2014_04_29_04_world_gameobject_loot_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_04_world_gameobject_loot_template.sql
index be2aa2c333f..be2aa2c333f 100644
--- a/sql/updates/world/2014_04_29_04_world_gameobject_loot_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_29_04_world_gameobject_loot_template.sql
diff --git a/sql/updates/world/2014_04_30_00_world_game_event_seasonal_questrelation.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_00_world_game_event_seasonal_questrelation.sql
index 15e830d924b..15e830d924b 100644
--- a/sql/updates/world/2014_04_30_00_world_game_event_seasonal_questrelation.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_00_world_game_event_seasonal_questrelation.sql
diff --git a/sql/updates/world/2014_04_30_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_01_world_misc.sql
index 69339e8485e..69339e8485e 100644
--- a/sql/updates/world/2014_04_30_01_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_01_world_misc.sql
diff --git a/sql/updates/world/2014_04_30_02_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_02_world_creature_template.sql
index 3413c96b488..3413c96b488 100644
--- a/sql/updates/world/2014_04_30_02_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_02_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_30_03_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_03_world_creature_template.sql
index f0235ec9383..f0235ec9383 100644
--- a/sql/updates/world/2014_04_30_03_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_03_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_30_04_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_04_world_creature_template.sql
index c95380ef500..c95380ef500 100644
--- a/sql/updates/world/2014_04_30_04_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_04_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_30_05_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_05_world_creature_template.sql
index 46ee19fdc9c..46ee19fdc9c 100644
--- a/sql/updates/world/2014_04_30_05_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_05_world_creature_template.sql
diff --git a/sql/updates/world/2014_04_30_06_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_06_world_creature_template.sql
index 71eecdda9e5..71eecdda9e5 100644
--- a/sql/updates/world/2014_04_30_06_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_04_30_06_world_creature_template.sql
diff --git a/sql/updates/world/2014_05_01_00_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_01_00_world_creature_template.sql
index 6bdc3f2f4a7..6bdc3f2f4a7 100644
--- a/sql/updates/world/2014_05_01_00_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_01_00_world_creature_template.sql
diff --git a/sql/updates/world/2014_05_02_00_world_gossip_menu_option.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_02_00_world_gossip_menu_option.sql
index bbc3f93c124..bbc3f93c124 100644
--- a/sql/updates/world/2014_05_02_00_world_gossip_menu_option.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_02_00_world_gossip_menu_option.sql
diff --git a/sql/updates/world/2014_05_02_00_world_locales_item_335.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_02_00_world_locales_item_335.sql
index e91e026249e..e91e026249e 100644
--- a/sql/updates/world/2014_05_02_00_world_locales_item_335.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_02_00_world_locales_item_335.sql
diff --git a/sql/updates/world/2014_05_02_01_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_02_01_world_creature_template.sql
index 59058ec67b3..59058ec67b3 100644
--- a/sql/updates/world/2014_05_02_01_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_02_01_world_creature_template.sql
diff --git a/sql/updates/world/2014_05_03_00_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_03_00_world_creature_template.sql
index c17c1cf07cd..c17c1cf07cd 100644
--- a/sql/updates/world/2014_05_03_00_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_03_00_world_creature_template.sql
diff --git a/sql/updates/world/2014_05_03_01_world_gossip_menu_option.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_03_01_world_gossip_menu_option.sql
index 2120623365e..2120623365e 100644
--- a/sql/updates/world/2014_05_03_01_world_gossip_menu_option.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_03_01_world_gossip_menu_option.sql
diff --git a/sql/updates/world/2014_05_04_00_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_00_world_creature_template.sql
index c0bc62b8a0e..c0bc62b8a0e 100644
--- a/sql/updates/world/2014_05_04_00_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_00_world_creature_template.sql
diff --git a/sql/updates/world/2014_05_04_01_world_sai.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_01_world_sai.sql
index 65602cbbb6e..65602cbbb6e 100644
--- a/sql/updates/world/2014_05_04_01_world_sai.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_01_world_sai.sql
diff --git a/sql/updates/world/2014_05_04_02_world_creature_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_02_world_creature_text.sql
index d68bdc4ed1c..d68bdc4ed1c 100644
--- a/sql/updates/world/2014_05_04_02_world_creature_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_02_world_creature_text.sql
diff --git a/sql/updates/world/2014_05_04_03_world_creature_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_03_world_creature_text.sql
index 3741afbb641..3741afbb641 100644
--- a/sql/updates/world/2014_05_04_03_world_creature_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_03_world_creature_text.sql
diff --git a/sql/updates/world/2014_05_04_04_world_creature.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_04_world_creature.sql
index 778f1fdb7f2..778f1fdb7f2 100644
--- a/sql/updates/world/2014_05_04_04_world_creature.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_04_04_world_creature.sql
diff --git a/sql/updates/world/2014_05_07_00_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_07_00_world_creature_template.sql
index aa1a0511f18..aa1a0511f18 100644
--- a/sql/updates/world/2014_05_07_00_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_07_00_world_creature_template.sql
diff --git a/sql/updates/world/2014_05_07_00_world_gossip_menu_option.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_07_00_world_gossip_menu_option.sql
index 2939237dc7d..2939237dc7d 100644
--- a/sql/updates/world/2014_05_07_00_world_gossip_menu_option.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_07_00_world_gossip_menu_option.sql
diff --git a/sql/updates/world/2014_05_08_00_world_smart_scripts.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_08_00_world_smart_scripts.sql
index ebf971d512d..ebf971d512d 100644
--- a/sql/updates/world/2014_05_08_00_world_smart_scripts.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_08_00_world_smart_scripts.sql
diff --git a/sql/updates/world/2014_05_09_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_09_00_world_misc.sql
index 8f4971f771f..8f4971f771f 100644
--- a/sql/updates/world/2014_05_09_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_09_00_world_misc.sql
diff --git a/sql/updates/world/2014_05_09_01_world_gossip.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_09_01_world_gossip.sql
index 7e2a1b040fc..7e2a1b040fc 100644
--- a/sql/updates/world/2014_05_09_01_world_gossip.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_09_01_world_gossip.sql
diff --git a/sql/updates/world/2014_05_09_02_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_09_02_world_creature_template.sql
index 5520ca5d6f8..5520ca5d6f8 100644
--- a/sql/updates/world/2014_05_09_02_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_09_02_world_creature_template.sql
diff --git a/sql/updates/world/2014_05_10_00_world_player_factionchange_items.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_10_00_world_player_factionchange_items.sql
index febb1032de3..febb1032de3 100644
--- a/sql/updates/world/2014_05_10_00_world_player_factionchange_items.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_10_00_world_player_factionchange_items.sql
diff --git a/sql/updates/world/2014_05_10_01_world_halls_of_reflection.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_10_01_world_halls_of_reflection.sql
index 6d6c8feb956..6d6c8feb956 100644
--- a/sql/updates/world/2014_05_10_01_world_halls_of_reflection.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_10_01_world_halls_of_reflection.sql
diff --git a/sql/updates/world/2014_05_11_00_world_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_00_world_gameobject.sql
index a25755671a5..a25755671a5 100644
--- a/sql/updates/world/2014_05_11_00_world_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_00_world_gameobject.sql
diff --git a/sql/updates/world/2014_05_11_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_01_world_misc.sql
index 8f8dfc4567b..8f8dfc4567b 100644
--- a/sql/updates/world/2014_05_11_01_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_01_world_misc.sql
diff --git a/sql/updates/world/2014_05_11_02_world_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_02_world_gameobject.sql
index e4648d78f50..e4648d78f50 100644
--- a/sql/updates/world/2014_05_11_02_world_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_02_world_gameobject.sql
diff --git a/sql/updates/world/2014_05_11_03_world_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_03_world_gameobject.sql
index 4fd5f7d6fc5..4fd5f7d6fc5 100644
--- a/sql/updates/world/2014_05_11_03_world_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_11_03_world_gameobject.sql
diff --git a/sql/updates/world/2014_05_12_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_12_00_world_misc.sql
index 4273921e1b6..4273921e1b6 100644
--- a/sql/updates/world/2014_05_12_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_12_00_world_misc.sql
diff --git a/sql/updates/world/2014_05_12_01_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_12_01_world_creature_template.sql
index 2367789b6e4..2367789b6e4 100644
--- a/sql/updates/world/2014_05_12_01_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_12_01_world_creature_template.sql
diff --git a/sql/updates/world/2014_05_13_00_world_conditions.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_13_00_world_conditions.sql
index 75fd2e1a950..75fd2e1a950 100644
--- a/sql/updates/world/2014_05_13_00_world_conditions.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_13_00_world_conditions.sql
diff --git a/sql/updates/world/2014_05_18_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_00_world_misc.sql
index fe0b59dc32f..fe0b59dc32f 100644
--- a/sql/updates/world/2014_05_18_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_00_world_misc.sql
diff --git a/sql/updates/world/2014_05_18_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_01_world_misc.sql
index 66df66dc7b5..66df66dc7b5 100644
--- a/sql/updates/world/2014_05_18_01_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_01_world_misc.sql
diff --git a/sql/updates/world/2014_05_18_02_world_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_02_world_gameobject.sql
index 0d3357de2a1..0d3357de2a1 100644
--- a/sql/updates/world/2014_05_18_02_world_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_02_world_gameobject.sql
diff --git a/sql/updates/world/2014_05_18_03_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_03_world_misc.sql
index 86d018dd7b0..86d018dd7b0 100644
--- a/sql/updates/world/2014_05_18_03_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_03_world_misc.sql
diff --git a/sql/updates/world/2014_05_18_04_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_04_world_misc.sql
index 89dc227f7ca..89dc227f7ca 100644
--- a/sql/updates/world/2014_05_18_04_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_18_04_world_misc.sql
diff --git a/sql/updates/world/2014_05_19_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_19_00_world_misc.sql
index 7879aca132d..7879aca132d 100644
--- a/sql/updates/world/2014_05_19_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_19_00_world_misc.sql
diff --git a/sql/updates/world/2014_05_19_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_19_01_world_misc.sql
index d25e73f245e..d25e73f245e 100644
--- a/sql/updates/world/2014_05_19_01_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_19_01_world_misc.sql
diff --git a/sql/updates/world/2014_05_23_00_world_spell_script_names.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_23_00_world_spell_script_names.sql
index 22d792e6f72..22d792e6f72 100644
--- a/sql/updates/world/2014_05_23_00_world_spell_script_names.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_23_00_world_spell_script_names.sql
diff --git a/sql/updates/world/2014_05_23_01_world_trinity_string.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_23_01_world_trinity_string.sql
index e05d36f601c..e05d36f601c 100644
--- a/sql/updates/world/2014_05_23_01_world_trinity_string.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_23_01_world_trinity_string.sql
diff --git a/sql/updates/world/2014_05_30_00_world_quest_update.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_30_00_world_quest_update.sql
index a44baf75074..a44baf75074 100644
--- a/sql/updates/world/2014_05_30_00_world_quest_update.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_05_30_00_world_quest_update.sql
diff --git a/sql/updates/world/2014_06_03_00_world_creature.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_03_00_world_creature.sql
index 81953785fd5..81953785fd5 100644
--- a/sql/updates/world/2014_06_03_00_world_creature.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_03_00_world_creature.sql
diff --git a/sql/updates/world/2014_06_06_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_06_00_world_misc.sql
index a1d4dd621c0..a1d4dd621c0 100644
--- a/sql/updates/world/2014_06_06_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_06_00_world_misc.sql
diff --git a/sql/updates/world/2014_06_06_00_world_quest_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_06_00_world_quest_template.sql
index 6d174f9a7b0..6d174f9a7b0 100644
--- a/sql/updates/world/2014_06_06_00_world_quest_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_06_00_world_quest_template.sql
diff --git a/sql/updates/world/2014_06_07_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_07_00_world_misc.sql
index ff09f8f552e..ff09f8f552e 100644
--- a/sql/updates/world/2014_06_07_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_07_00_world_misc.sql
diff --git a/sql/updates/world/2014_06_08_00_world_conditions.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_00_world_conditions.sql
index a0a885d5def..a0a885d5def 100644
--- a/sql/updates/world/2014_06_08_00_world_conditions.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_00_world_conditions.sql
diff --git a/sql/updates/world/2014_06_08_01_world_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_01_world_gameobject.sql
index 844d32ed393..844d32ed393 100644
--- a/sql/updates/world/2014_06_08_01_world_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_01_world_gameobject.sql
diff --git a/sql/updates/world/2014_06_08_02_world_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_02_world_gameobject.sql
index 5b5bfa9a90c..5b5bfa9a90c 100644
--- a/sql/updates/world/2014_06_08_02_world_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_02_world_gameobject.sql
diff --git a/sql/updates/world/2014_06_08_03_world_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_03_world_gameobject.sql
index 8fe57fa39b5..8fe57fa39b5 100644
--- a/sql/updates/world/2014_06_08_03_world_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_08_03_world_gameobject.sql
diff --git a/sql/updates/world/2014_06_09_00_world_quest_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_09_00_world_quest_template.sql
index 240dd4a75d2..240dd4a75d2 100644
--- a/sql/updates/world/2014_06_09_00_world_quest_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_09_00_world_quest_template.sql
diff --git a/sql/updates/world/2014_06_11_01_world_spell_script_names.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_11_01_world_spell_script_names.sql
index 433f1cf8b09..433f1cf8b09 100644
--- a/sql/updates/world/2014_06_11_01_world_spell_script_names.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_11_01_world_spell_script_names.sql
diff --git a/sql/updates/world/2014_06_11_02_world_fish_junk_loot_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_11_02_world_fish_junk_loot_template.sql
index a8dc813d4b2..a8dc813d4b2 100644
--- a/sql/updates/world/2014_06_11_02_world_fish_junk_loot_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_11_02_world_fish_junk_loot_template.sql
diff --git a/sql/updates/world/2014_06_12_00_world_quest_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_12_00_world_quest_template.sql
index 333aac99b0b..333aac99b0b 100644
--- a/sql/updates/world/2014_06_12_00_world_quest_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_12_00_world_quest_template.sql
diff --git a/sql/updates/world/2014_06_12_01_world_gossip_menu_option.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_12_01_world_gossip_menu_option.sql
index ee423e3eaea..ee423e3eaea 100644
--- a/sql/updates/world/2014_06_12_01_world_gossip_menu_option.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_12_01_world_gossip_menu_option.sql
diff --git a/sql/updates/world/2014_06_14_00_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_00_world_creature_template.sql
index 19a2063571f..19a2063571f 100644
--- a/sql/updates/world/2014_06_14_00_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_00_world_creature_template.sql
diff --git a/sql/updates/world/2014_06_14_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_01_world_misc.sql
index 05261164241..05261164241 100644
--- a/sql/updates/world/2014_06_14_01_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_01_world_misc.sql
diff --git a/sql/updates/world/2014_06_14_02_world_spell_script_names.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_02_world_spell_script_names.sql
index 53b1f2f6286..53b1f2f6286 100644
--- a/sql/updates/world/2014_06_14_02_world_spell_script_names.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_02_world_spell_script_names.sql
diff --git a/sql/updates/world/2014_06_14_03_world_smart_scripts.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_03_world_smart_scripts.sql
index ffd0ed03963..ffd0ed03963 100644
--- a/sql/updates/world/2014_06_14_03_world_smart_scripts.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_03_world_smart_scripts.sql
diff --git a/sql/updates/world/2014_06_14_04_world_trinity_string.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_04_world_trinity_string.sql
index b110a7de6d2..b110a7de6d2 100644
--- a/sql/updates/world/2014_06_14_04_world_trinity_string.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_14_04_world_trinity_string.sql
diff --git a/sql/updates/world/2014_06_15_00_world_spell_script_names.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_15_00_world_spell_script_names.sql
index 84123740083..84123740083 100644
--- a/sql/updates/world/2014_06_15_00_world_spell_script_names.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_15_00_world_spell_script_names.sql
diff --git a/sql/updates/world/2014_06_15_01_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_15_01_world_creature_template.sql
index 48358811c94..48358811c94 100644
--- a/sql/updates/world/2014_06_15_01_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_15_01_world_creature_template.sql
diff --git a/sql/updates/world/2014_06_15_02_world_spell_group.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_15_02_world_spell_group.sql
index 4a4be6f23cd..4a4be6f23cd 100644
--- a/sql/updates/world/2014_06_15_02_world_spell_group.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_15_02_world_spell_group.sql
diff --git a/sql/updates/world/2014_06_16_00_world_spell_group.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_16_00_world_spell_group.sql
index 363030eeaa1..363030eeaa1 100644
--- a/sql/updates/world/2014_06_16_00_world_spell_group.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_16_00_world_spell_group.sql
diff --git a/sql/updates/world/2014_06_17_00_world_creature.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_17_00_world_creature.sql
index d2c40d74cc7..d2c40d74cc7 100644
--- a/sql/updates/world/2014_06_17_00_world_creature.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_17_00_world_creature.sql
diff --git a/sql/updates/world/2014_06_17_00_world_spell_group.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_17_00_world_spell_group.sql
index 7d109800a42..7d109800a42 100644
--- a/sql/updates/world/2014_06_17_00_world_spell_group.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_17_00_world_spell_group.sql
diff --git a/sql/updates/world/2014_06_20_00_world_spell_dbc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_20_00_world_spell_dbc.sql
index aa390501232..aa390501232 100644
--- a/sql/updates/world/2014_06_20_00_world_spell_dbc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_20_00_world_spell_dbc.sql
diff --git a/sql/updates/world/2014_06_20_01_world_spell_dbc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_20_01_world_creature_text.sql
index 5f11bd036db..5f11bd036db 100644
--- a/sql/updates/world/2014_06_20_01_world_spell_dbc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_20_01_world_creature_text.sql
diff --git a/sql/updates/world/2014_06_22_00_world_locales_creature.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_00_world_locales_creature.sql
index 5dc00dfa692..5dc00dfa692 100644
--- a/sql/updates/world/2014_06_22_00_world_locales_creature.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_00_world_locales_creature.sql
diff --git a/sql/updates/world/2014_06_22_01_world_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_01_world_gameobject.sql
index 9a180b24c95..9a180b24c95 100644
--- a/sql/updates/world/2014_06_22_01_world_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_01_world_gameobject.sql
diff --git a/sql/updates/world/2014_06_22_02_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_02_world_misc.sql
index fadeb279d94..fadeb279d94 100644
--- a/sql/updates/world/2014_06_22_02_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_02_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_03_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_03_world_misc.sql
index f85cfba9e79..f85cfba9e79 100644
--- a/sql/updates/world/2014_06_22_03_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_03_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_04_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_04_world_misc.sql
index f9cf3e0e2a9..f9cf3e0e2a9 100644
--- a/sql/updates/world/2014_06_22_04_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_04_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_05_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_05_world_misc.sql
index 72bb111cfce..72bb111cfce 100644
--- a/sql/updates/world/2014_06_22_05_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_05_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_06_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_06_world_misc.sql
index 207072a6989..207072a6989 100644
--- a/sql/updates/world/2014_06_22_06_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_06_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_07_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_07_world_misc.sql
index 9ff6a15e0af..9ff6a15e0af 100644
--- a/sql/updates/world/2014_06_22_07_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_07_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_08_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_08_world_misc.sql
index 79b020b4dc4..79b020b4dc4 100644
--- a/sql/updates/world/2014_06_22_08_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_08_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_09_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_09_world_misc.sql
index 794b6a33268..794b6a33268 100644
--- a/sql/updates/world/2014_06_22_09_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_09_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_10_world_spell_custom_attr.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_10_world_spell_custom_attr.sql
index 07e702a7ecb..07e702a7ecb 100644
--- a/sql/updates/world/2014_06_22_10_world_spell_custom_attr.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_10_world_spell_custom_attr.sql
diff --git a/sql/updates/world/2014_06_22_11_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_11_world_misc.sql
index 41100a23867..41100a23867 100644
--- a/sql/updates/world/2014_06_22_11_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_11_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_12_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_12_world_misc.sql
index 7a5ca81bed4..7a5ca81bed4 100644
--- a/sql/updates/world/2014_06_22_12_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_12_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_13_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_13_world_misc.sql
index 18515f6c707..18515f6c707 100644
--- a/sql/updates/world/2014_06_22_13_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_13_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_14_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_14_world_misc.sql
index b94cee72152..b94cee72152 100644
--- a/sql/updates/world/2014_06_22_14_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_14_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_15_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_15_world_misc.sql
index bab44b11d9d..bab44b11d9d 100644
--- a/sql/updates/world/2014_06_22_15_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_15_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_16_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_16_world_misc.sql
index 5d0abc53187..5d0abc53187 100644
--- a/sql/updates/world/2014_06_22_16_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_16_world_misc.sql
diff --git a/sql/updates/world/2014_06_22_17_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_17_world_misc.sql
index a9a115e5955..a9a115e5955 100644
--- a/sql/updates/world/2014_06_22_17_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_22_17_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_00_world_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_00_world_gameobject.sql
index a9be0afd0f4..a9be0afd0f4 100644
--- a/sql/updates/world/2014_06_23_00_world_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_00_world_gameobject.sql
diff --git a/sql/updates/world/2014_06_23_00_world_spell_dbc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_00_world_spell_dbc.sql
index 4f8c82e148c..4f8c82e148c 100644
--- a/sql/updates/world/2014_06_23_00_world_spell_dbc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_00_world_spell_dbc.sql
diff --git a/sql/updates/world/2014_06_23_01_world_creature_text.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_01_world_creature_text.sql
index ed02107ade9..ed02107ade9 100644
--- a/sql/updates/world/2014_06_23_01_world_creature_text.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_01_world_creature_text.sql
diff --git a/sql/updates/world/2014_06_23_03_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_03_world_misc.sql
index a100c662823..a100c662823 100644
--- a/sql/updates/world/2014_06_23_03_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_03_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_04_world_gameobject.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_04_world_gameobject.sql
index d3efda89e5b..d3efda89e5b 100644
--- a/sql/updates/world/2014_06_23_04_world_gameobject.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_04_world_gameobject.sql
diff --git a/sql/updates/world/2014_06_23_05_world_creature_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_05_world_creature_template.sql
index 7fe21f2699b..7fe21f2699b 100644
--- a/sql/updates/world/2014_06_23_05_world_creature_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_05_world_creature_template.sql
diff --git a/sql/updates/world/2014_06_23_06_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_06_world_misc.sql
index ab2bf07579c..ab2bf07579c 100644
--- a/sql/updates/world/2014_06_23_06_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_06_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_07_world_misc_335a.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_07_world_misc_335a.sql
index f4ab6a4f67e..f4ab6a4f67e 100644
--- a/sql/updates/world/2014_06_23_07_world_misc_335a.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_07_world_misc_335a.sql
diff --git a/sql/updates/world/2014_06_23_08_world_gameobject_loot_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_08_world_gameobject_loot_template.sql
index d2d47c32cd0..d2d47c32cd0 100644
--- a/sql/updates/world/2014_06_23_08_world_gameobject_loot_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_08_world_gameobject_loot_template.sql
diff --git a/sql/updates/world/2014_06_23_09_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_09_world_misc.sql
index 7fe4481b53a..7fe4481b53a 100644
--- a/sql/updates/world/2014_06_23_09_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_09_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_10_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_10_world_misc.sql
index fe333a4743a..fe333a4743a 100644
--- a/sql/updates/world/2014_06_23_10_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_10_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_11_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_11_world_misc.sql
index 878889e7a7a..878889e7a7a 100644
--- a/sql/updates/world/2014_06_23_11_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_11_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_12_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_12_world_misc.sql
index eb2d5285933..eb2d5285933 100644
--- a/sql/updates/world/2014_06_23_12_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_12_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_13_world_spell_group.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_13_world_spell_group.sql
index fb763d82e24..fb763d82e24 100644
--- a/sql/updates/world/2014_06_23_13_world_spell_group.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_13_world_spell_group.sql
diff --git a/sql/updates/world/2014_06_23_14_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_14_world_misc.sql
index 22eac2a435c..22eac2a435c 100644
--- a/sql/updates/world/2014_06_23_14_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_14_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_15_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_15_world_misc.sql
index 2d7621a67fa..2d7621a67fa 100644
--- a/sql/updates/world/2014_06_23_15_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_15_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_16_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_16_world_misc.sql
index d2515317a99..d2515317a99 100644
--- a/sql/updates/world/2014_06_23_16_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_16_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_17_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_17_world_misc.sql
index 5ed084063d8..5ed084063d8 100644
--- a/sql/updates/world/2014_06_23_17_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_17_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_18_world_smart_scripts.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_18_world_smart_scripts.sql
index 06d6956dd87..06d6956dd87 100644
--- a/sql/updates/world/2014_06_23_18_world_smart_scripts.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_18_world_smart_scripts.sql
diff --git a/sql/updates/world/2014_06_23_19_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_19_world_misc.sql
index d2a1311c5cc..d2a1311c5cc 100644
--- a/sql/updates/world/2014_06_23_19_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_19_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_20_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_20_world_misc.sql
index 4d0afaa52aa..4d0afaa52aa 100644
--- a/sql/updates/world/2014_06_23_20_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_20_world_misc.sql
diff --git a/sql/updates/world/2014_06_23_21_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_21_world_misc.sql
index 56cd96e8439..56cd96e8439 100644
--- a/sql/updates/world/2014_06_23_21_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_23_21_world_misc.sql
diff --git a/sql/updates/world/2014_06_24_00_world_quest_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_00_world_quest_template.sql
index 4778a45750d..4778a45750d 100644
--- a/sql/updates/world/2014_06_24_00_world_quest_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_00_world_quest_template.sql
diff --git a/sql/updates/world/2014_06_24_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_01_world_misc.sql
index 678f6e0e44a..678f6e0e44a 100644
--- a/sql/updates/world/2014_06_24_01_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_01_world_misc.sql
diff --git a/sql/updates/world/2014_06_24_02_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_02_world_misc.sql
index 8d44c424dbe..8d44c424dbe 100644
--- a/sql/updates/world/2014_06_24_02_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_02_world_misc.sql
diff --git a/sql/updates/world/2014_06_24_03_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_03_world_misc.sql
index 1aac6f30cda..1aac6f30cda 100644
--- a/sql/updates/world/2014_06_24_03_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_03_world_misc.sql
diff --git a/sql/updates/world/2014_06_24_04_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_04_world_misc.sql
index 6da8d4081e1..6da8d4081e1 100644
--- a/sql/updates/world/2014_06_24_04_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_04_world_misc.sql
diff --git a/sql/updates/world/2014_06_24_05_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_05_world_misc.sql
index 71898ee1569..71898ee1569 100644
--- a/sql/updates/world/2014_06_24_05_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_05_world_misc.sql
diff --git a/sql/updates/world/2014_06_24_06_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_06_world_misc.sql
index 0c01fade351..0c01fade351 100644
--- a/sql/updates/world/2014_06_24_06_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_06_world_misc.sql
diff --git a/sql/updates/world/2014_06_24_07_world_spell_proc_event.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_07_world_spell_proc_event.sql
index 5eafb052acb..5eafb052acb 100644
--- a/sql/updates/world/2014_06_24_07_world_spell_proc_event.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_07_world_spell_proc_event.sql
diff --git a/sql/updates/world/2014_06_24_08_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_08_world_misc.sql
index 9dd8f8f4691..9dd8f8f4691 100644
--- a/sql/updates/world/2014_06_24_08_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_08_world_misc.sql
diff --git a/sql/updates/world/2014_06_24_09_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_09_world_misc.sql
index fc092e08108..fc092e08108 100644
--- a/sql/updates/world/2014_06_24_09_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_24_09_world_misc.sql
diff --git a/sql/updates/world/2014_06_25_00_world_quest.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_00_world_quest.sql
index 77f5bf05471..77f5bf05471 100644
--- a/sql/updates/world/2014_06_25_00_world_quest.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_00_world_quest.sql
diff --git a/sql/updates/world/2014_06_25_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_01_world_misc.sql
index 88e47f6510d..88e47f6510d 100644
--- a/sql/updates/world/2014_06_25_01_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_01_world_misc.sql
diff --git a/sql/updates/world/2014_06_25_02_world_creature.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_02_world_creature.sql
index 8c43786c8e8..8c43786c8e8 100644
--- a/sql/updates/world/2014_06_25_02_world_creature.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_02_world_creature.sql
diff --git a/sql/updates/world/2014_06_25_03_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_03_world_misc.sql
index 3ddd98aa8df..3ddd98aa8df 100644
--- a/sql/updates/world/2014_06_25_03_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_03_world_misc.sql
diff --git a/sql/updates/world/2014_06_25_04_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_04_world_misc.sql
index 3bd4bbaafe2..3bd4bbaafe2 100644
--- a/sql/updates/world/2014_06_25_04_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_04_world_misc.sql
diff --git a/sql/updates/world/2014_06_25_05_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_05_world_misc.sql
index e253e445e01..e253e445e01 100644
--- a/sql/updates/world/2014_06_25_05_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_05_world_misc.sql
diff --git a/sql/updates/world/2014_06_25_06_world_conditions.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_06_world_conditions.sql
index 8bd179e360b..8bd179e360b 100644
--- a/sql/updates/world/2014_06_25_06_world_conditions.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_06_world_conditions.sql
diff --git a/sql/updates/world/2014_06_25_07_world_conditions.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_07_world_conditions.sql
index fd1c5a2b681..fd1c5a2b681 100644
--- a/sql/updates/world/2014_06_25_07_world_conditions.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_07_world_conditions.sql
diff --git a/sql/updates/world/2014_06_25_08_world_conditions.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_08_world_conditions.sql
index e2e904ae063..e2e904ae063 100644
--- a/sql/updates/world/2014_06_25_08_world_conditions.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_25_08_world_conditions.sql
diff --git a/sql/updates/world/2014_06_26_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_26_00_world_misc.sql
index b116a05979a..b116a05979a 100644
--- a/sql/updates/world/2014_06_26_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_26_00_world_misc.sql
diff --git a/sql/updates/world/2014_06_26_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_26_01_world_misc.sql
index aea1adbf3ce..aea1adbf3ce 100644
--- a/sql/updates/world/2014_06_26_01_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_26_01_world_misc.sql
diff --git a/sql/updates/world/2014_06_26_02_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_26_02_world_misc.sql
index dade11c549d..dade11c549d 100644
--- a/sql/updates/world/2014_06_26_02_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_26_02_world_misc.sql
diff --git a/sql/updates/world/2014_06_27_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_27_00_world_misc.sql
index 275ecbbf4a0..275ecbbf4a0 100644
--- a/sql/updates/world/2014_06_27_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_27_00_world_misc.sql
diff --git a/sql/updates/world/2014_06_27_00_world_smart_scripts.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_27_00_world_smart_scripts.sql
index e1340a68a62..e1340a68a62 100644
--- a/sql/updates/world/2014_06_27_00_world_smart_scripts.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_27_00_world_smart_scripts.sql
diff --git a/sql/updates/world/2014_06_28_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_00_world_misc.sql
index a960642b8fb..a960642b8fb 100644
--- a/sql/updates/world/2014_06_28_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_00_world_misc.sql
diff --git a/sql/updates/world/2014_06_28_00_world_smart_scripts.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_00_world_smart_scripts.sql
index 96ac504bc09..96ac504bc09 100644
--- a/sql/updates/world/2014_06_28_00_world_smart_scripts.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_00_world_smart_scripts.sql
diff --git a/sql/updates/world/2014_06_28_02_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_02_world_misc.sql
index 017116f41e3..017116f41e3 100644
--- a/sql/updates/world/2014_06_28_02_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_02_world_misc.sql
diff --git a/sql/updates/world/2014_06_28_03_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_03_world_misc.sql
index bc591852817..bc591852817 100644
--- a/sql/updates/world/2014_06_28_03_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_03_world_misc.sql
diff --git a/sql/updates/world/2014_06_28_04_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_04_world_misc.sql
index 4c5c25e7dfe..4c5c25e7dfe 100644
--- a/sql/updates/world/2014_06_28_04_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_28_04_world_misc.sql
diff --git a/sql/updates/world/2014_06_29_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_29_00_world_misc.sql
index 33e3bf74665..33e3bf74665 100644
--- a/sql/updates/world/2014_06_29_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_29_00_world_misc.sql
diff --git a/sql/updates/world/2014_06_29_01_world_quest_template.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_29_01_world_quest_template.sql
index 509b9479979..509b9479979 100644
--- a/sql/updates/world/2014_06_29_01_world_quest_template.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_29_01_world_quest_template.sql
diff --git a/sql/updates/world/2014_06_29_02_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_29_02_world_misc.sql
index dd99a1f4bed..dd99a1f4bed 100644
--- a/sql/updates/world/2014_06_29_02_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_06_29_02_world_misc.sql
diff --git a/sql/updates/world/2014_07_01_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_01_00_world_misc.sql
index ae9ffafe986..ae9ffafe986 100644
--- a/sql/updates/world/2014_07_01_00_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_01_00_world_misc.sql
diff --git a/sql/updates/world/2014_07_01_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_01_01_world_misc.sql
index 9806235da58..9806235da58 100644
--- a/sql/updates/world/2014_07_01_01_world_misc.sql
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_01_01_world_misc.sql
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_01_02_world_playercreateinfo_skills.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_01_02_world_playercreateinfo_skills.sql
new file mode 100644
index 00000000000..ad85276527b
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_01_02_world_playercreateinfo_skills.sql
@@ -0,0 +1,90 @@
+DROP TABLE IF EXISTS `playercreateinfo_spell`;
+
+DROP TABLE IF EXISTS `playercreateinfo_skills`;
+CREATE TABLE `playercreateinfo_skills` (
+ `raceMask` int(10) unsigned NOT NULL,
+ `classMask` int(10) unsigned NOT NULL,
+ `skill` smallint(5) unsigned NOT NULL,
+ `rank` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `comment` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`raceMask`,`classMask`,`skill`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+INSERT INTO `playercreateinfo_skills` VALUES
+(0,0,95,0,'Defense'),
+(0,0,162,0,'Unarmed'),
+(0,0,183,0,'GENERIC (DND)'),
+(0,0,415,0,'Cloth'),
+(0,0,777,0,'Mounts'),
+(0,0,778,0,'Companion Pets'),
+(0,1,26,0,'Warrior - Arms'),
+(0,1,256,0,'Warrior - Fury'),
+(0,1,257,0,'Warrior - Protection'),
+(0,2,184,0,'Paladin - Retribution'),
+(0,2,267,0,'Paladin - Protection'),
+(0,2,594,0,'Paladin - Holy'),
+(0,4,50,0,'Hunter - Beast Mastery'),
+(0,4,51,0,'Hunter - Survival'),
+(0,4,163,0,'Hunter - Marksmanship'),
+(0,8,38,0,'Rogue - Combat'),
+(0,8,39,0,'Rogue - Subtlety'),
+(0,8,176,0,'Thrown'),
+(0,8,253,0,'Rogue - Assassination'),
+(0,16,56,0,'Priest - Holy'),
+(0,16,78,0,'Priest - Shadow'),
+(0,16,613,0,'Priest - Discipline'),
+(0,32,129,4,'Death Knight - First Aid'),
+(0,32,229,0,'Polearms'),
+(0,32,293,0,'Plate'),
+(0,32,762,0,'Death Knight - Riding'),
+(0,32,770,0,'Death Knight - Blood'),
+(0,32,771,0,'Death Knight - Frost'),
+(0,32,772,0,'Death Knight - Unholy'),
+(0,35,55,0,'Two-Handed Swords'),
+(0,35,413,0,'Mail'),
+(0,37,44,0,'Axes'),
+(0,37,172,0,'Two-Handed Axes'),
+(0,39,43,0,'Swords'),
+(0,40,118,0,'Dual Wield'),
+(0,64,373,0,'Shaman - Enhancement'),
+(0,64,374,0,'Shaman - Restoration'),
+(0,64,375,0,'Shaman - Elemental'),
+(0,67,433,0,'Shield'),
+(0,128,6,0,'Mage - Frost'),
+(0,128,8,0,'Mage - Fire'),
+(0,128,237,0,'Mage - Arcane'),
+(0,256,354,0,'Warlock - Demonology'),
+(0,256,355,0,'Warlock - Affliction'),
+(0,256,593,0,'Warlock - Destruction'),
+(0,400,228,0,'Wands'),
+(0,1024,134,0,'Druid - Feral'),
+(0,1024,573,0,'Druid - Restoration'),
+(0,1024,574,0,'Druid - Balance'),
+(0,1107,54,0,'Maces'),
+(0,1135,414,0,'Leather'),
+(0,1488,136,0,'Staves'),
+(1,0,754,0,'Human - Racial'),
+(2,0,125,0,'Orc - Racial'),
+(4,0,101,0,'Dwarf - Racial'),
+(4,0,111,0,'Language: Dwarven'),
+(8,0,126,0,'Night Elf - Racial'),
+(8,0,137,0,'Language: Thalassian'),
+(16,0,220,0,'Undead - Racial'),
+(16,0,673,0,'Language: Forsaken'),
+(32,0,113,0,'Language: Darnassian'),
+(32,0,124,0,'Tauren - Racial'),
+(36,4,46,0,'Guns'),
+(64,0,313,0,'Language: Gnomish'),
+(64,0,753,0,'Gnome - Racial'),
+(128,0,315,0,'Language: Troll'),
+(128,0,733,0,'Troll - Racial'),
+(512,0,115,0,'Language: Taurahe'),
+(512,0,756,0,'Blood Elf - Racial'),
+(650,4,45,0,'Bows'),
+(690,0,109,0,'Language: Orcish'),
+(735,1293,173,0,'Daggers'),
+(1024,0,759,0,'Language: Draenei'),
+(1024,0,760,0,'Draenei - Racial'),
+(1024,4,226,0,'Crossbows'),
+(1061,3,160,0,'Two-Handed Maces'),
+(1101,0,98,0,'Language: Common');
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_00_world_misc.sql
new file mode 100644
index 00000000000..03c2df0347d
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_00_world_misc.sql
@@ -0,0 +1,5 @@
+--
+UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=32790 AND `source_type`=0 AND `id`=1 AND `link`=2;
+UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=30630 AND `source_type`=0 AND `id`=0 AND `link`=1;
+-- The below is also related to same quest for moonglade portal and return from moonglade portal same quest, these gained trigger flags resulting in the portals becoming non clickable.
+UPDATE`creature_template` SET `flags_extra`=0 WHERE `entry`IN(32790,32788);
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_01_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_01_world_misc.sql
new file mode 100644
index 00000000000..ad5679406d3
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_01_world_misc.sql
@@ -0,0 +1,5 @@
+UPDATE `smart_scripts` SET `event_flags`=0,`event_type`=38, `event_param1`=1, `event_param2`=1, `target_param2`=200, `comment`='Cosmetic Trigger - LAB - On Data Set - Cast \'Cosmetic Chains\'' WHERE `entryorguid`IN(-103996,-103997,-103998,-103999,-104000,-104001,-104002,-104003,-104004,-104005,-104006,-104007,-104008)AND `source_type`=0 AND `id`=0 AND `link`=0;
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=29352 AND `id`=1;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(29352, 0, 1, 0, 25, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 11, 24921, 200, 0, 0, 0, 0, 0, 'Kirgaraak - On Respawn - Set Data Cosmetic Trigger');
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_02_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_02_world_misc.sql
new file mode 100644
index 00000000000..5226606dc7c
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_02_world_misc.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `item_template` SET `flagsCustom`=1 WHERE `entry` IN(34000,34001,20562,20392,20565,20563,20569,20571,20567,20574,34002,34003,20561,20391,20566,20564,20570,20572,20568,20573,37585,37583,37582,37584,33226,44835, 44839, 44853,44840,46797,44836,46784,46796,44838,44855,46793,44854.44844,44812,46888,46887,44837,34412,34191,21711,21812,22261,18598,18597,31180,31181,46297,46396,34494,34684);
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_03_world_npc_vendor.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_03_world_npc_vendor.sql
new file mode 100644
index 00000000000..40003053b0d
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_02_03_world_npc_vendor.sql
@@ -0,0 +1,2 @@
+--
+INSERT INTO `npc_vendor` (`entry`, `item`) VALUES (30431, 50369);
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_03_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_03_00_world_misc.sql
new file mode 100644
index 00000000000..507b306342f
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_03_00_world_misc.sql
@@ -0,0 +1,2 @@
+UPDATE `item_template` SET `flagsCustom`=0 WHERE `entry` IN(31180,31181,46297);
+UPDATE `item_template` SET `flagsCustom`=1 WHERE `entry` IN(31880,31881,46397);
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_03_01_world_spell_proc_event.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_03_01_world_spell_proc_event.sql
new file mode 100644
index 00000000000..3ae38f82698
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_03_01_world_spell_proc_event.sql
@@ -0,0 +1,7 @@
+DELETE FROM `spell_linked_spell` WHERE `spell_effect`=71757;
+
+DELETE FROM `spell_proc_event` WHERE `entry`=71761;
+INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`procFlags`,`procEx`,`ppmRate`,`CustomChance`,`Cooldown`) VALUES
+(71761, 0, 3, 0, 0x100000, 0, 0, 0x100, 0, 0, 0); -- Deep Freeze
+
+UPDATE `spell_proc_event` SET `procEx`=`procEx`|0x100 WHERE `entry`=74396;
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_04_00_world_playercreateinfo_skills.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_04_00_world_playercreateinfo_skills.sql
new file mode 100644
index 00000000000..b058e320790
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_04_00_world_playercreateinfo_skills.sql
@@ -0,0 +1,5 @@
+DELETE FROM `playercreateinfo_skills` WHERE `skill` IN (113,115,137);
+INSERT INTO `playercreateinfo_skills` VALUES
+(512,0,137,0,'Language: Thalassian'),
+(8,0,113,0,'Language: Darnassian'),
+(32,0,115,0,'Language: Taurahe');
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_05_00_world_misc.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_05_00_world_misc.sql
new file mode 100644
index 00000000000..027a23802b6
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_05_00_world_misc.sql
@@ -0,0 +1,7 @@
+--
+DELETE FROM smart_scripts WHERE entryorguid in (25001,25002,24999) AND event_type=6;
+UPDATE `smart_scripts` SET `id`=1 WHERE `entryorguid`=25001 AND `id`=0 AND `action_param1` =12744;
+DELETE FROM smart_scripts WHERE entryorguid in (25001) AND `id`>0;
+
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(25001,0,0,0,11,0,100,0,0,0,0,0,11,45227,0,0,0,0,0,1,0,0,0,0,0,0,0,'Abyssal Flamewalker - On spawn - Cast Abyssal Meteor Fall');
diff --git a/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_05_01_world_smart_scripts.sql b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_05_01_world_smart_scripts.sql
new file mode 100644
index 00000000000..ddd158c83a8
--- /dev/null
+++ b/sql/old/3.3.5a/TDB53_to_TDB54_updates/world/2014_07_05_01_world_smart_scripts.sql
@@ -0,0 +1,19 @@
+UPDATE `smart_scripts` SET
+ `action_type`=11, `action_param1`=37903, `action_param2`=1, `comment`='Razaani Light Orb - Between 0-30% Health - Cast Trapping the Light: Kill Credit (No Repeat)' WHERE
+ `entryorguid`=20635 AND `source_type`=0 AND `id`=3 AND `link`=4;
+
+UPDATE `smart_scripts` SET
+ `action_type`=11, `action_param1`=37903, `action_param2`=1, `comment`='Razaani Light Orb - Mini - On Reached Point 1 - Cast Trapping the Light: Kill Credit (No Repeat)' WHERE
+ `entryorguid`=20771 AND `source_type`=0 AND `id`=3 AND `link`=4;
+
+UPDATE `smart_scripts` SET
+ `action_type`=11, `action_param1`=37903, `action_param2`=1, `comment`='Multi-Spectrum Light Trap Bunny - On Data Set 1 1 - Cast Trapping the Light: Kill Credit ' WHERE
+ `entryorguid`=21926 AND `source_type`=0 AND `id`=4 AND `link`=5;
+
+UPDATE `smart_scripts` SET
+ `action_type`=85, `action_param1`=37829, `action_param2`=1, `comment`='Scalewing Serpent - On Spellhit - Cast Ride the Lightning: Kill Credit' WHERE
+ `entryorguid`=20749 AND `source_type`=0 AND `id`=1 AND `link`=0;
+
+UPDATE `smart_scripts` SET
+ `action_type`=85, `action_param1`=43174, `action_param2`=1, `comment`='Proto-Drake - On Death - Cast Draconis Gastritis: Kill Credit' WHERE
+ `entryorguid`=23689 AND `source_type`=0 AND `id`=7 AND `link`=0;
diff --git a/sql/updates/world/2014_07_06_00_world_version.sql b/sql/updates/world/2014_07_06_00_world_version.sql
new file mode 100644
index 00000000000..4fdfda68ded
--- /dev/null
+++ b/sql/updates/world/2014_07_06_00_world_version.sql
@@ -0,0 +1 @@
+UPDATE `version` SET `db_version`='TDB 335.54', `cache_id`=54 LIMIT 1;
diff --git a/sql/updates/world/2014_07_06_01_world_misc.sql b/sql/updates/world/2014_07_06_01_world_misc.sql
new file mode 100644
index 00000000000..ff7e226bdd9
--- /dev/null
+++ b/sql/updates/world/2014_07_06_01_world_misc.sql
@@ -0,0 +1,10 @@
+--
+SET @GUID=5412;
+
+DELETE FROM `gameobject` WHERE `id`=188367;
+INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `VerifiedBuild`) VALUES
+(@GUID,188367,571,1,1,5048.28,-4817.63,219.778,2.49582,0,0,0,1,-60,255,1,0);
+
+DELETE FROM `event_scripts` WHERE `id`=17566;
+INSERT INTO `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES
+(17566,0,9,@GUID,60,0,0,0,0,0);
diff --git a/sql/updates/world/2014_07_06_02_world_misc.sql b/sql/updates/world/2014_07_06_02_world_misc.sql
new file mode 100644
index 00000000000..7ff6e74d003
--- /dev/null
+++ b/sql/updates/world/2014_07_06_02_world_misc.sql
@@ -0,0 +1,4 @@
+--
+UPDATE `creature_template` SET `npcflag`=16777216 WHERE `entry`=25743;
+DELETE FROM `creature_loot_template` WHERE `entry`=25802 AND `item`=35234;
+UPDATE `item_template` SET `flagsCustom`=1 WHERE `entry`=44834;
diff --git a/sql/updates/world/2014_07_07_00_world_creature_text.sql b/sql/updates/world/2014_07_07_00_world_creature_text.sql
new file mode 100644
index 00000000000..e553a6fced9
--- /dev/null
+++ b/sql/updates/world/2014_07_07_00_world_creature_text.sql
@@ -0,0 +1,5 @@
+--
+DELETE FROM `creature_text` WHERE `entry` = 10262 AND id IN (6,7);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextID`) VALUES
+(10262,0,6, 'Bijou lost! SQUAWK! *cough',12,0,100,0,0,0, 'Opus - Random Say',5541),
+(10262,0,7, 'Dragons controlling orcs!? SQUAWK!',12,0,100,0,0,0, 'Opus - Random Say',5546);
diff --git a/sql/updates/world/2014_07_07_01_world_spell_script_names.sql b/sql/updates/world/2014_07_07_01_world_spell_script_names.sql
new file mode 100644
index 00000000000..5926d055b0d
--- /dev/null
+++ b/sql/updates/world/2014_07_07_01_world_spell_script_names.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE spell_id=7434;
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(7434,'spell_item_fate_rune_of_unsurpassed_vigor');
diff --git a/sql/updates/world/2014_07_07_02_world_spell_game_event_creature.sql b/sql/updates/world/2014_07_07_02_world_spell_game_event_creature.sql
new file mode 100644
index 00000000000..c512521337d
--- /dev/null
+++ b/sql/updates/world/2014_07_07_02_world_spell_game_event_creature.sql
@@ -0,0 +1,34 @@
+--
+SET @CGUID := 127340;
+DELETE FROM `game_event_creature` WHERE `guid` BETWEEN @CGUID+00 AND @CGUID+29;
+INSERT INTO `game_event_creature` (`eventEntry`, `guid`) VALUES
+(1, @CGUID+00),
+(1, @CGUID+01),
+(1, @CGUID+02),
+(1, @CGUID+03),
+(1, @CGUID+04),
+(1, @CGUID+05),
+(1, @CGUID+06),
+(1, @CGUID+07),
+(1, @CGUID+08),
+(1, @CGUID+09),
+(1, @CGUID+10),
+(1, @CGUID+11),
+(1, @CGUID+12),
+(1, @CGUID+13),
+(1, @CGUID+14),
+(1, @CGUID+15),
+(1, @CGUID+16),
+(1, @CGUID+17),
+(1, @CGUID+18),
+(1, @CGUID+19),
+(1, @CGUID+20),
+(1, @CGUID+21),
+(1, @CGUID+22),
+(1, @CGUID+23),
+(1, @CGUID+24),
+(1, @CGUID+25),
+(1, @CGUID+26),
+(1, @CGUID+27),
+(1, @CGUID+28),
+(1, @CGUID+29);
diff --git a/sql/updates/world/2014_07_07_03_world_spell_misc.sql b/sql/updates/world/2014_07_07_03_world_spell_misc.sql
new file mode 100644
index 00000000000..8e200267797
--- /dev/null
+++ b/sql/updates/world/2014_07_07_03_world_spell_misc.sql
@@ -0,0 +1,7 @@
+DELETE FROM `spell_script_names` WHERE `spell_id`=70811;
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(70811,'spell_sha_item_t10_elemental_2p_bonus');
+
+DELETE FROM `spell_proc_event` WHERE `entry`=70811;
+INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES
+(70811, 0, 11, 3, 0, 0, 0, 0, 0, 0, 0);
diff --git a/sql/updates/world/2014_07_08_00_world_creature_queststarter.sql b/sql/updates/world/2014_07_08_00_world_creature_queststarter.sql
new file mode 100644
index 00000000000..ee9c49139c8
--- /dev/null
+++ b/sql/updates/world/2014_07_08_00_world_creature_queststarter.sql
@@ -0,0 +1,99 @@
+-- Alliance
+--
+DELETE FROM `creature_queststarter` WHERE `quest` IN (6071,6072,6073,6074,6075,6076,9757);
+
+-- Thorgas Grimson (Coldridge Valley, Dun Morogh)
+-- Note: There is a discrepancy wether this NPC actually starts the chain, wowhead is outdated
+SET @npcId=895;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6072); -- Night Elf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6075); -- Dwarf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9757); -- Draenei
+
+-- Tristane Shadowstone (Brenwall Village, Dun Morogh)
+-- Note: This NPC is not a trainer but wowhead / wowwiki show that she offers the starter. Possibly because she is in a quest hub.
+SET @npcId=11807;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6072); -- Night Elf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6075); -- Dwarf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9757); -- Draenei
+
+-- Ayanna Everstride (Teldrassil)
+SET @npcId=3596;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6071); -- Night Elf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6074); -- Dwarf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9757); -- Draenei
+
+-- Jocaste (Darnassus)
+SET @npcId=4146;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6071); -- Night Elf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6074); -- Dwarf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9757); -- Draenei
+
+-- Dorion (Darnassus)
+SET @npcId=4205;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6071); -- Night Elf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6074); -- Dwarf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9757); -- Draenei
+
+-- Regnus Thundergranite (Ironforge)
+SET @npcId=5117;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6072); -- Night Elf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6074); -- Dwarf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9757); -- Draenei
+
+-- Einris Brightspear (Stormwind)
+SET @npcId=5515;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6073); -- Night Elf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6076); -- Dwarf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9757); -- Draenei
+
+-- Acteon (Azuremyst Isle)
+SET @npcId=17110;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6073); -- Night Elf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6074); -- Dwarf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9757); -- Draenei
+
+-- Deremiis (The Exodar)
+SET @npcId=16738;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6073); -- Night Elf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6074); -- Dwarf
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9757); -- Draenei
+
+-- Horde
+--
+DELETE FROM `creature_queststarter` WHERE `quest` IN (6065,6066,6067,6068,6069,6070,9617,10530);
+
+-- Kary Thunderhorn (Thunder Bluff)
+SET @npcId=3038;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6066); -- Tauren
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6068); -- Orc / Troll
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9617); -- Blood Elf
+
+-- Lanka Farshot (Camp Narache)
+SET @npcId=3061;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6067); -- Tauren
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6069); -- Orc / Troll
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9617); -- Blood Elf
+
+-- Jen'shan Note: Unknown location, wowhead data was outdated
+SET @npcId=3154;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6067); -- Tauren
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6069); -- Orc / Troll
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9617); -- Blood Elf
+
+-- Thotar (Durotar)
+SET @npcId=3171;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6065); -- Tauren
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6069); -- Orc / Troll
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9617); -- Blood Elf
+
+-- Sian'dur - Note: Unknown location, wowhead data was outdated
+SET @npcId=3407;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6067); -- Tauren
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6070); -- Orc / Troll
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9617); -- Blood Elf
+
+-- Telenus (Farstrider Square) - NOTE: He is actually a "Pet Trainer"
+SET @npcId=16271;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6067); -- Tauren
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,6069); -- Orc / Troll
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (@npcId,9617); -- Blood Elf
diff --git a/sql/updates/world/2014_07_08_00_world_misc.sql b/sql/updates/world/2014_07_08_00_world_misc.sql
new file mode 100644
index 00000000000..8e989f15b6f
--- /dev/null
+++ b/sql/updates/world/2014_07_08_00_world_misc.sql
@@ -0,0 +1,39 @@
+--
+UPDATE `creature_template` SET `ainame`='SmartAI' WHERE `entry`=24359;
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=24359 AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(24359,0,0,0,25,0,100,1,0,0,0,0,11,8722,0,0,0,0,0,1,0,0,0,0,0,0,0,'Apothecary Anastasia <Royal Apothecary Society> - On Spawn Summon Succubus');
+
+DELETE FROM `creature` WHERE `guid` IN (84989,112617,74136,74475,123937,123936,123933,74178);
+
+UPDATE `creature_template` SET `ainame`='SmartAI' WHERE `entry`=35475;
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=35475 AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(-84660,-84661,-84664,-84665) AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(-84660,0,0,0,25,0,100,1,0,0,0,0,11,8722,0,0,0,0,0,1,0,0,0,0,0,0,0,'Visting Warlock - On Spawn Summon Succubus'),
+(-84661,0,0,0,25,0,100,1,0,0,0,0,11,12746,0,0,0,0,0,1,0,0,0,0,0,0,0,'Visting Warlock - On Spawn Summon Voidwalker'),
+(-84664,0,0,0,25,0,100,1,0,0,0,0,11,12746,0,0,0,0,0,1,0,0,0,0,0,0,0,'Visting Warlock - On Spawn Summon Voidwalker'),
+(-84665,0,0,0,25,0,100,1,0,0,0,0,11,12746,0,0,0,0,0,1,0,0,0,0,0,0,0,'Visting Warlock - On Spawn Summon Voidwalker');
+
+UPDATE `creature_template` SET `ainame`='SmartAI' WHERE `entry`=29614;
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=29614 AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(2961400,2961401) AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(29614,0,0,0,25,0,100,1,0,0,0,0,87,2961400,2961401,2961400,2961401,2961400,2961401,1,0,0,0,0,0,0,0,'Onslaught Darkweaver - On Spawn - Run Random Script'),
+(29614,0,1,0,1,0,100,0,0,0,1800000,1800000,11,13787,0,0,0,0,0,1,0,0,0,0,0,0,0,'Onslaught Darkweaver - On Spawn - Cast Demon Armor'),
+(29614,0,2,0,0,0,100,0,1000,3000,3000,3500,11,12739,0,0,0,0,0,2,0,0,0,0,0,0,0,'Onslaught Darkweaver - IC - Cast Shadow Bolt'),
+(29614,0,3,4,0,0,100,0,7000,15000,180000,210000,11,54840,0,0,0,0,0,1,0,0,0,0,0,0,0,'Onslaught Darkweaver - IC - Cast Metamorphosis'),
+(29614,0,4,0,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Onslaught Darkweaver - Linked with Previous event - Say'),
+(29614,0,5,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Onslaught Darkweaver - On Agro Say'),
+(2961400,9,0,0,0,0,100,0,0,0,0,0,11,8722,2,0,0,0,0,1,0,0,0,0,0,0,0,'Onslaught Darkweaver - Script - Summon Succubus'),
+(2961401,9,0,0,0,0,100,0,0,0,0,0,11,11939,2,0,0,0,0,1,0,0,0,0,0,0,0,'Onslaught Darkweaver - Script - Summon Imp');
+
+DELETE FROM `creature_text` WHERE `entry` =29614;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES (29614, 0, 0, 'Even in death there will be no escape for you!', 12, 0, 100, 0, 0, 0, 'Onslaught Darkweaver', 30267),
+(29614, 0, 1, 'I shall feast upon your soul!', 12, 0, 100, 0, 0, 0, 'Onslaught Darkweaver', 30268),
+(29614, 0, 2, 'Now you know. Now you must die!', 12, 0, 100, 0, 0, 0, 'Onslaught Darkweaver', 30266),
+(29614, 0, 3, 'You will not leave this cavern alive!', 12, 0, 100, 0, 0, 0, 'Onslaught Darkweaver', 30269),
+(29614, 1, 0, 'The darkweaver pierces you with an evil grin as he shifts into an entirely different form.', 16, 0, 100, 0, 0, 0, 'Onslaught Darkweaver', 30265);
diff --git a/sql/updates/world/2014_07_08_01_world_quest_template.sql b/sql/updates/world/2014_07_08_01_world_quest_template.sql
new file mode 100644
index 00000000000..f40808b428d
--- /dev/null
+++ b/sql/updates/world/2014_07_08_01_world_quest_template.sql
@@ -0,0 +1,2 @@
+UPDATE quest_template SET RequiredRaces = 690 WHERE id IN (12375,12381,12383,12362,12378,12379,12377,12374,12361,12386,12366,12367,12380,12365,12373,12387,12369,12382,12363,12385,12364,12376,12370,12371,12384,12368,12394,12389,12388,12391,12393,12392,12395,12390);
+UPDATE quest_template SET RequiredRaces = 1101 WHERE id IN (12345,12341,12334,12349,12350,12331,12333,12338,12348,12337,12347,12332,12286,12351,12339,12336,12343,12344,12346,12335,12342,12340,12358,12352,12357,12356,12354,12359,12353,12360,12355,12340);
diff --git a/sql/updates/world/2014_07_08_02_world_misc.sql b/sql/updates/world/2014_07_08_02_world_misc.sql
new file mode 100644
index 00000000000..12b39f2d975
--- /dev/null
+++ b/sql/updates/world/2014_07_08_02_world_misc.sql
@@ -0,0 +1,593 @@
+--
+SET @Pool := 363; -- Needs 5 2 for sunreavers dailys, 2 for silver covenant dailys and 1 for get kraken/the fate of the fallen
+-- Remove previousquestid from all quests for valiant's seals as this will be dealt with by conditions linked to the valiant's charge for each faction instead
+UPDATE `quest_template` SET `PrevQuestId`=0 WHERE `Id` IN (13771,13776,13781,13786,13765,13760,13744,13749,13755,13592,13768,13762,13773,13778,13783,13757,13741,13746,13752,13603,13600,13742,13747,13753,13758,13763,13769,13774,13779,13784,13847,13851,13852,13854,13855,13856,13857,13858,13859,13860,13616,13747,13748,13754,13759,13764,13770,13775,13780,13785,13665,13745,13750,13756,13761,13767,13772,13777,13782,13787);
+
+-- Set all versions of The Valiants Charge to have no previous quest ID as this will be dealt with by conditions instead as there are 2 quests which need to link to these
+UPDATE `quest_template` SET `PrevQuestId`=0 WHERE `Id` IN (13718,13714,13715,13716,13717,13697,13719,13720,13721,13722);
+
+-- Set all alliance versions of valiant of ....., valiants charge, the valliants challenge and associated dailys to be completable by any alliance char rather than a specific race
+UPDATE `quest_template` SET `RequiredRaces`=1101 WHERE `Id` IN (13718,13714,13715,13716,13717,13759,13670,13743,13748,13754,13616,13757.13666,13741,13746,13752,13758,13669,13742,13747,13753,13600,13760,13744,13749,13755,13592,13855,13851,13852,13854,13847,13725,13713,13723,13724,13699,13665,13745,13750,13756,13761);
+
+-- Set all horde versions of valiant of ....., valiants charge, the valliants challenge and associated dailys to be completable by any horde char rather than a specific race
+UPDATE `quest_template` SET `RequiredRaces`=690 WHERE `Id` IN (13697,13719,13720,13721,13722,13770,13764,13775,13780,13785,13675,13768,13762,13773,13778,13783,13769,13763,13774,13779,13784,13674,13771,13776,13781,13786,13765,13857,13858,13859,13860,13856,13727,13728,13729,13731,13726,13767,13772,13777,13782,13787);
+
+-- Set next questquestidchain for valiant of ..../a valiant of .... quests
+UPDATE `quest_template` SET `NextQuestId`=13718 WHERE `Id` IN (13593,13684);
+UPDATE `quest_template` SET `NextQuestId`=13714 WHERE `Id` IN (13685,13703);
+UPDATE `quest_template` SET `NextQuestId`=13715 WHERE `Id` IN (13688,13704);
+UPDATE `quest_template` SET `NextQuestId`=13717 WHERE `Id` IN (13689,13706);
+UPDATE `quest_template` SET `NextQuestId`=13716 WHERE `Id` IN (13690,13705);
+UPDATE `quest_template` SET `NextQuestId`=13697 WHERE `Id` IN (13691,13707);
+UPDATE `quest_template` SET `NextQuestId`=13719 WHERE `Id` IN (13693,13708);
+UPDATE `quest_template` SET `NextQuestId`=13720 WHERE `Id` IN (13694,13709);
+UPDATE `quest_template` SET `NextQuestId`=13721 WHERE `Id` IN (13695,13710);
+UPDATE `quest_template` SET `NextQuestId`=13722 WHERE `Id` IN (13593,13711);
+
+-- Conditions to ensure player cannot take another valiant of ... quest while has one in log, conditions for tournament eligibility marker take care of rest of chain once these are turned in but player does not get flag until quest is turned in
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference`=28 AND `SourceEntry` IN (13593,13703,13704,13705,13706,13707,13708,13709,13710,13711);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference`=28 AND `SourceEntry` IN (13593,13703,13704,13705,13706,13707,13708,13709,13710,13711);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(19,0,13593,0,0,28,0,13706,0,0,1,0,'','Show valiant of stormwind only if player does not have any valliant of ... quest in quest log'),
+(20,0,13593,0,0,28,0,13706,0,0,1,0,'','Show valiant of stormwind only if player does not have any valliant of ... quest in quest log'),
+(19,0,13593,0,0,28,0,13704,0,0,1,0,'','Show valiant of stormwind only if player does not have any valliant of ... quest in quest log'),
+(20,0,13593,0,0,28,0,13704,0,0,1,0,'','Show valiant of stormwind only if player does not have any valliant of ... quest in quest log'),
+(19,0,13593,0,0,28,0,13703,0,0,1,0,'','Show valiant of stormwind only if player does not have any valliant of ... quest in quest log'),
+(20,0,13593,0,0,28,0,13703,0,0,1,0,'','Show valiant of stormwind only if player does not have any valliant of ... quest in quest log'),
+(19,0,13593,0,0,28,0,13705,0,0,1,0,'','Show valiant of stormwind only if player does not have any valliant of ... quest in quest log'),
+(20,0,13593,0,0,28,0,13705,0,0,1,0,'','Show valiant of stormwind only if player does not have any valliant of ... quest in quest log'),
+(19,0,13706,0,0,28,0,13593,0,0,1,0,'','Show valiant of Darnassus only if player does not have any valliant of ... quest in quest log'),
+(20,0,13706,0,0,28,0,13593,0,0,1,0,'','Show valiant of Darnassus only if player does not have any valliant of ... quest in quest log'),
+(19,0,13706,0,0,28,0,13704,0,0,1,0,'','Show valiant of Darnassus only if player does not have any valliant of ... quest in quest log'),
+(20,0,13706,0,0,28,0,13704,0,0,1,0,'','Show valiant of Darnassus only if player does not have any valliant of ... quest in quest log'),
+(19,0,13706,0,0,28,0,13703,0,0,1,0,'','Show valiant of Darnassus only if player does not have any valliant of ... quest in quest log'),
+(20,0,13706,0,0,28,0,13703,0,0,1,0,'','Show valiant of Darnassus only if player does not have any valliant of ... quest in quest log'),
+(19,0,13706,0,0,28,0,13705,0,0,1,0,'','Show valiant of Darnassus only if player does not have any valliant of ... quest in quest log'),
+(20,0,13706,0,0,28,0,13705,0,0,1,0,'','Show valiant of Darnassus only if player does not have any valliant of ... quest in quest log'),
+(19,0,13704,0,0,28,0,13593,0,0,1,0,'','Show valiant of Gnomeregan only if player does not have any valliant of ... quest in quest log'),
+(20,0,13704,0,0,28,0,13593,0,0,1,0,'','Show valiant of Gnomeregan only if player does not have any valliant of ... quest in quest log'),
+(19,0,13704,0,0,28,0,13706,0,0,1,0,'','Show valiant of Gnomeregan only if player does not have any valliant of ... quest in quest log'),
+(20,0,13704,0,0,28,0,13706,0,0,1,0,'','Show valiant of Gnomeregan only if player does not have any valliant of ... quest in quest log'),
+(19,0,13704,0,0,28,0,13703,0,0,1,0,'','Show valiant of Gnomeregan only if player does not have any valliant of ... quest in quest log'),
+(20,0,13704,0,0,28,0,13703,0,0,1,0,'','Show valiant of Gnomeregan only if player does not have any valliant of ... quest in quest log'),
+(19,0,13704,0,0,28,0,13705,0,0,1,0,'','Show valiant of Gnomeregan only if player does not have any valliant of ... quest in quest log'),
+(20,0,13704,0,0,28,0,13705,0,0,1,0,'','Show valiant of Gnomeregan only if player does not have any valliant of ... quest in quest log'),
+(19,0,13703,0,0,28,0,13593,0,0,1,0,'','Show valiant of Ironforge only if player does not have any valliant of ... quest in quest log'),
+(20,0,13703,0,0,28,0,13593,0,0,1,0,'','Show valiant of Ironforge only if player does not have any valliant of ... quest in quest log'),
+(19,0,13703,0,0,28,0,13706,0,0,1,0,'','Show valiant of Ironforge only if player does not have any valliant of ... quest in quest log'),
+(20,0,13703,0,0,28,0,13706,0,0,1,0,'','Show valiant of Ironforge only if player does not have any valliant of ... quest in quest log'),
+(19,0,13703,0,0,28,0,13704,0,0,1,0,'','Show valiant of Ironforge only if player does not have any valliant of ... quest in quest log'),
+(20,0,13703,0,0,28,0,13704,0,0,1,0,'','Show valiant of Ironforge only if player does not have any valliant of ... quest in quest log'),
+(19,0,13703,0,0,28,0,13705,0,0,1,0,'','Show valiant of Ironforge only if player does not have any valliant of ... quest in quest log'),
+(20,0,13703,0,0,28,0,13705,0,0,1,0,'','Show valiant of Ironforge only if player does not have any valliant of ... quest in quest log'),
+(19,0,13705,0,0,28,0,13593,0,0,1,0,'','Show valiant of the exodar only if player does not have any valliant of ... quest in quest log'),
+(20,0,13705,0,0,28,0,13593,0,0,1,0,'','Show valiant of the exodar only if player does not have any valliant of ... quest in quest log'),
+(19,0,13705,0,0,28,0,13706,0,0,1,0,'','Show valiant of the exodar only if player does not have any valliant of ... quest in quest log'),
+(20,0,13705,0,0,28,0,13706,0,0,1,0,'','Show valiant of the exodar only if player does not have any valliant of ... quest in quest log'),
+(19,0,13705,0,0,28,0,13704,0,0,1,0,'','Show valiant of the exodar only if player does not have any valliant of ... quest in quest log'),
+(20,0,13705,0,0,28,0,13704,0,0,1,0,'','Show valiant of the exodar only if player does not have any valliant of ... quest in quest log'),
+(19,0,13705,0,0,28,0,13703,0,0,1,0,'','Show valiant of the exodar only if player does not have any valliant of ... quest in quest log'),
+(20,0,13705,0,0,28,0,13703,0,0,1,0,'','Show valiant of the exodar only if player does not have any valliant of ... quest in quest log'),
+(19,0,13707,0,0,28,0,13708,0,0,1,0,'','Show valiant of orgrimmar only if player does not have any valliant of ... quest in quest log'),
+(20,0,13707,0,0,28,0,13708,0,0,1,0,'','Show valiant of orgrimmar only if player does not have any valliant of ... quest in quest log'),
+(19,0,13707,0,0,28,0,13711,0,0,1,0,'','Show valiant of orgrimmar only if player does not have any valliant of ... quest in quest log'),
+(20,0,13707,0,0,28,0,13711,0,0,1,0,'','Show valiant of orgrimmar only if player does not have any valliant of ... quest in quest log'),
+(19,0,13707,0,0,28,0,13709,0,0,1,0,'','Show valiant of orgrimmar only if player does not have any valliant of ... quest in quest log'),
+(20,0,13707,0,0,28,0,13709,0,0,1,0,'','Show valiant of orgrimmar only if player does not have any valliant of ... quest in quest log'),
+(19,0,13707,0,0,28,0,13710,0,0,1,0,'','Show valiant of orgrimmar only if player does not have any valliant of ... quest in quest log'),
+(20,0,13707,0,0,28,0,13710,0,0,1,0,'','Show valiant of orgrimmar only if player does not have any valliant of ... quest in quest log'),
+(19,0,13708,0,0,28,0,13707,0,0,1,0,'','Show valiant of senjin only if player does not have any valliant of ... quest in quest log'),
+(20,0,13708,0,0,28,0,13707,0,0,1,0,'','Show valiant of senjin only if player does not have any valliant of ... quest in quest log'),
+(19,0,13708,0,0,28,0,13711,0,0,1,0,'','Show valiant of senjin only if player does not have any valliant of ... quest in quest log'),
+(20,0,13708,0,0,28,0,13711,0,0,1,0,'','Show valiant of senjin only if player does not have any valliant of ... quest in quest log'),
+(19,0,13708,0,0,28,0,13709,0,0,1,0,'','Show valiant of senjin only if player does not have any valliant of ... quest in quest log'),
+(20,0,13708,0,0,28,0,13709,0,0,1,0,'','Show valiant of senjin only if player does not have any valliant of ... quest in quest log'),
+(19,0,13708,0,0,28,0,13710,0,0,1,0,'','Show valiant of senjin only if player does not have any valliant of ... quest in quest log'),
+(20,0,13708,0,0,28,0,13710,0,0,1,0,'','Show valiant of senjin only if player does not have any valliant of ... quest in quest log'),
+(19,0,13711,0,0,28,0,13707,0,0,1,0,'','Show valiant of silvermoon only if player does not have any valliant of ... quest in quest log'),
+(20,0,13711,0,0,28,0,13707,0,0,1,0,'','Show valiant of silvermoon only if player does not have any valliant of ... quest in quest log'),
+(19,0,13711,0,0,28,0,13708,0,0,1,0,'','Show valiant of silvermoon only if player does not have any valliant of ... quest in quest log'),
+(20,0,13711,0,0,28,0,13708,0,0,1,0,'','Show valiant of silvermoon only if player does not have any valliant of ... quest in quest log'),
+(19,0,13711,0,0,28,0,13709,0,0,1,0,'','Show valiant of silvermoon only if player does not have any valliant of ... quest in quest log'),
+(20,0,13711,0,0,28,0,13709,0,0,1,0,'','Show valiant of silvermoon only if player does not have any valliant of ... quest in quest log'),
+(19,0,13711,0,0,28,0,13710,0,0,1,0,'','Show valiant of silvermoon only if player does not have any valliant of ... quest in quest log'),
+(20,0,13711,0,0,28,0,13710,0,0,1,0,'','Show valiant of silvermoon only if player does not have any valliant of ... quest in quest log'),
+(19,0,13709,0,0,28,0,13707,0,0,1,0,'','Show valiant of thunderbluff only if player does not have any valliant of ... quest in quest log'),
+(20,0,13709,0,0,28,0,13707,0,0,1,0,'','Show valiant of thunderbluff only if player does not have any valliant of ... quest in quest log'),
+(19,0,13709,0,0,28,0,13708,0,0,1,0,'','Show valiant of thunderbluff only if player does not have any valliant of ... quest in quest log'),
+(20,0,13709,0,0,28,0,13708,0,0,1,0,'','Show valiant of thunderbluff only if player does not have any valliant of ... quest in quest log'),
+(19,0,13709,0,0,28,0,13711,0,0,1,0,'','Show valiant of thunderbluff only if player does not have any valliant of ... quest in quest log'),
+(20,0,13709,0,0,28,0,13711,0,0,1,0,'','Show valiant of thunderbluff only if player does not have any valliant of ... quest in quest log'),
+(19,0,13709,0,0,28,0,13710,0,0,1,0,'','Show valiant of thunderbluff only if player does not have any valliant of ... quest in quest log'),
+(20,0,13709,0,0,28,0,13710,0,0,1,0,'','Show valiant of thunderbluff only if player does not have any valliant of ... quest in quest log'),
+(19,0,13710,0,0,28,0,13707,0,0,1,0,'','Show valiant of undercity only if player does not have any valliant of ... quest in quest log'),
+(20,0,13710,0,0,28,0,13707,0,0,1,0,'','Show valiant of undercity only if player does not have any valliant of ... quest in quest log'),
+(19,0,13710,0,0,28,0,13708,0,0,1,0,'','Show valiant of undercity only if player does not have any valliant of ... quest in quest log'),
+(20,0,13710,0,0,28,0,13708,0,0,1,0,'','Show valiant of undercity only if player does not have any valliant of ... quest in quest log'),
+(19,0,13710,0,0,28,0,13711,0,0,1,0,'','Show valiant of undercity only if player does not have any valliant of ... quest in quest log'),
+(20,0,13710,0,0,28,0,13711,0,0,1,0,'','Show valiant of undercity only if player does not have any valliant of ... quest in quest log'),
+(19,0,13710,0,0,28,0,13709,0,0,1,0,'','Show valiant of undercity only if player does not have any valliant of ... quest in quest log'),
+(20,0,13710,0,0,28,0,13709,0,0,1,0,'','Show valiant of undercity only if player does not have any valliant of ... quest in quest log');
+
+-- group dailies from all cities which give valiants seals to prevent player from doing same quests again that day if they already did them that day and become champion of one faction start next faction.
+UPDATE `quest_template` SET `ExclusiveGroup`=13847 WHERE `Id` IN (13847,13851,13852,13854,13855);
+UPDATE `quest_template` SET `ExclusiveGroup`=13856 WHERE `Id` IN (13856,13857,13858,13859,13860);
+UPDATE `quest_template` SET `ExclusiveGroup`=13592 WHERE `Id` IN (13592,13744,13749,13755,13760);
+UPDATE `quest_template` SET `ExclusiveGroup`=13765 WHERE `Id` IN (13765,13771,13776,13781,13786);
+UPDATE `quest_template` SET `ExclusiveGroup`=13665 WHERE `Id` IN (13665,13745,13750,13756,13761);
+UPDATE `quest_template` SET `ExclusiveGroup`=13767 WHERE `Id` IN (13767,13772,13777,13782,13787);
+UPDATE `quest_template` SET `ExclusiveGroup`=13603 WHERE `Id` IN (13600,13603,13616,13741,13742,13743,13746,13747,13748,13752,13753,13754,13757,13758,13759);
+UPDATE `quest_template` SET `ExclusiveGroup`=13762 WHERE `Id` IN (13762,13763,13764,13768,13769,13770,13773,13774,13775,13778,13779,13780,13783,13784,13785);
+
+-- Conditions for chaining the valliants charge from both valiant of ..... and a valiant of ..... quests
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference`=8 AND`SourceEntry` IN (13697,13714,13715,13716,13717,13718,13719,13720,13721,13722);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference`=8 AND`SourceEntry` IN (13697,13714,13715,13716,13717,13718,13719,13720,13721,13722);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(19, 0, 13697, 0, 0, 8, 13691, 0, 0, 0, '', 'The valiants charge after a valiant of ogrimmar'),
+(19, 0, 13697, 0, 1, 8, 13707, 0, 0, 0, '', 'The valiants charge after valiant of orgrimmar'),
+(19, 0, 13714, 0, 0, 8, 13685, 0, 0, 0, '', 'The valiants charge after a valiant of iron forge'),
+(19, 0, 13714, 0, 1, 8, 13703, 0, 0, 0, '', 'The valiants charge after valiant of iron forge'),
+(19, 0, 13715, 0, 0, 8, 13688, 0, 0, 0, '', 'The valiants charge after a valiant of gomregan'),
+(19, 0, 13715, 0, 1, 8, 13704, 0, 0, 0, '', 'The valiants charge after valiant of gomregan'),
+(19, 0, 13716, 0, 0, 8, 13690, 0, 0, 0, '', 'The valiants charge after a valiant of exodar'),
+(19, 0, 13716, 0, 1, 8, 13705, 0, 0, 0, '', 'The valiants charge after valiant of exodar'),
+(19, 0, 13717, 0, 0, 8, 13689, 0, 0, 0, '', 'The valiants charge after a valiant of darnassus'),
+(19, 0, 13717, 0, 1, 8, 13706, 0, 0, 0, '', 'The valiants charge after valiant of darnassus'),
+(19, 0, 13718, 0, 0, 8, 13684, 0, 0, 0, '', 'The valiants charge after a valiant of stormwind'),
+(19, 0, 13718, 0, 1, 8, 13593, 0, 0, 0, '', 'The valiants charge after valiant of stormwind'),
+(19, 0, 13719, 0, 0, 8, 13693, 0, 0, 0, '', 'The valiants charge after a valiant of sen''jin'),
+(19, 0, 13719, 0, 1, 8, 13708, 0, 0, 0, '', 'The valiants charge after valiant of sen''jin'),
+(19, 0, 13720, 0, 0, 8, 13694, 0, 0, 0, '', 'The valiants charge after a valiant of thunderbluff'),
+(19, 0, 13720, 0, 1, 8, 13709, 0, 0, 0, '', 'The valiants charge after valiant of thunderbluff'),
+(19, 0, 13721, 0, 0, 8, 13695, 0, 0, 0, '', 'The valiants charge after a valiant of undercity'),
+(19, 0, 13721, 0, 1, 8, 13710, 0, 0, 0, '', 'The valiants charge after valiant of undercity'),
+(19, 0, 13722, 0, 0, 8, 13696, 0, 0, 0, '', 'The valiants charge after a valiant of silvermoon'),
+(19, 0, 13722, 0, 1, 8, 13711, 0, 0, 0, '', 'The valiants charge after valiant of silvermoon'),
+(20, 0, 13697, 0, 0, 8, 13691, 0, 0, 0, '', 'The valiants charge after a valiant of orgrimmar'),
+(20, 0, 13697, 0, 1, 8, 13707, 0, 0, 0, '', 'The valiants charge after valiant of orgrimmar'),
+(20, 0, 13714, 0, 0, 8, 13685, 0, 0, 0, '', 'The valiants charge after a valiant of iron forge'),
+(20, 0, 13714, 0, 1, 8, 13703, 0, 0, 0, '', 'The valiants charge after valiant of iron forge'),
+(20, 0, 13715, 0, 0, 8, 13688, 0, 0, 0, '', 'The valiants charge after a valiant of gomregan'),
+(20, 0, 13715, 0, 1, 8, 13704, 0, 0, 0, '', 'The valiants charge after valiant of gomregan'),
+(20, 0, 13716, 0, 0, 8, 13690, 0, 0, 0, '', 'The valiants charge after a valiant of exodar'),
+(20, 0, 13716, 0, 1, 8, 13705, 0, 0, 0, '', 'The valiants charge after valiant of exodar'),
+(20, 0, 13717, 0, 0, 8, 13689, 0, 0, 0, '', 'The valiants charge after a valiant of darnassus'),
+(20, 0, 13717, 0, 1, 8, 13706, 0, 0, 0, '', 'The valiants charge after valiant of darnassus'),
+(20, 0, 13718, 0, 0, 8, 13684, 0, 0, 0, '', 'The valiants charge after a valiant of stormwind'),
+(20, 0, 13718, 0, 1, 8, 13593, 0, 0, 0, '', 'The valiants charge after valiant of stormwind'),
+(20, 0, 13719, 0, 0, 8, 13693, 0, 0, 0, '', 'The valiants charge after a valiant of sen''jin'),
+(20, 0, 13719, 0, 1, 8, 13708, 0, 0, 0, '', 'The valiants charge after valiant of sen''jin'),
+(20, 0, 13720, 0, 0, 8, 13694, 0, 0, 0, '', 'The valiants charge after a valiant of thunderbluff'),
+(20, 0, 13720, 0, 1, 8, 13709, 0, 0, 0, '', 'The valiants charge after valiant of tunderbluff'),
+(20, 0, 13721, 0, 0, 8, 13695, 0, 0, 0, '', 'The valiants charge after a valiant of undercity'),
+(20, 0, 13721, 0, 1, 8, 13710, 0, 0, 0, '', 'The valiants charge after valiant of undercity'),
+(20, 0, 13722, 0, 0, 8, 13696, 0, 0, 0, '', 'The valiants charge after a valiant of silvermoon'),
+(20, 0, 13722, 0, 1, 8, 13711, 0, 0, 0, '', 'The valiants charge after valiant of silvermoon');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference` IN (8,14) AND `SourceEntry` IN (13593,13703,13704,13705,13706,13707,13708,13709,13710,13711);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference` IN (8,14) AND `SourceEntry` IN (13593,13703,13704,13705,13706,13707,13708,13709,13710,13711);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(19, 0, 13593, 0, 0, 8, 13700, 0, 0, 0, '', 'Valiant Of Stormwind - Alliance Champion Marker'),
+(19, 0, 13703, 0, 0, 8, 13700, 0, 0, 0, '', 'Valiant Of Ironforge - Alliance Champion Marker'),
+(19, 0, 13704, 0, 0, 8, 13700, 0, 0, 0, '', 'Valiant Of Gnomeregan - Alliance Champion Marker'),
+(19, 0, 13705, 0, 0, 8, 13700, 0, 0, 0, '', 'Valiant Of The Exodar - Alliance Champion Marker'),
+(19, 0, 13706, 0, 0, 8, 13700, 0, 0, 0, '', 'Valiant Of Darnassus - Alliance Champion Marker'),
+(19, 0, 13707, 0, 0, 8, 13701, 0, 0, 0, '', 'Valiant Of Orgrimmar - Horde Champion Marker'),
+(19, 0, 13708, 0, 0, 8, 13701, 0, 0, 0, '', 'Valiant Of Sen''jin - Horde Champion Marker'),
+(19, 0, 13709, 0, 0, 8, 13701, 0, 0, 0, '', 'Valiant Of Thunder Bluff - Horde Champion Marker'),
+(19, 0, 13710, 0, 0, 8, 13701, 0, 0, 0, '', 'Valiant Of Undercity - Horde Champion Marker'),
+(19, 0, 13711, 0, 0, 8, 13701, 0, 0, 0, '', 'Valiant Of Silvermoon - Horde Champion Marker'),
+(20, 0, 13593, 0, 0, 8, 13700, 0, 0, 0, '', 'Valiant Of Stormwind - Alliance Champion Marker'),
+(20, 0, 13703, 0, 0, 8, 13700, 0, 0, 0, '', 'Valiant Of Ironforge - Alliance Champion Marker'),
+(20, 0, 13704, 0, 0, 8, 13700, 0, 0, 0, '', 'Valiant Of Gnomeregan - Alliance Champion Marker'),
+(20, 0, 13705, 0, 0, 8, 13700, 0, 0, 0, '', 'Valiant Of The Exodar - Alliance Champion Marker'),
+(20, 0, 13706, 0, 0, 8, 13700, 0, 0, 0, '', 'Valiant Of Darnassus - Alliance Champion Marker'),
+(20, 0, 13707, 0, 0, 8, 13701, 0, 0, 0, '', 'Valiant Of Orgrimmar - Horde Champion Marker'),
+(20, 0, 13708, 0, 0, 8, 13701, 0, 0, 0, '', 'Valiant Of Sen''jin - Horde Champion Marker'),
+(20, 0, 13709, 0, 0, 8, 13701, 0, 0, 0, '', 'Valiant Of Thunder Bluff - Horde Champion Marker'),
+(20, 0, 13710, 0, 0, 8, 13701, 0, 0, 0, '', 'Valiant Of Undercity - Horde Champion Marker'),
+(20, 0, 13711, 0, 0, 8, 13701, 0, 0, 0, '', 'Valiant Of Silvermoon - Horde Champion Marker'),
+(19, 0, 13593, 0, 0, 14, 13686, 0, 0, 0, '', 'Valiant of Stormwind if no tournament eligility marker'),
+(19, 0, 13703, 0, 0, 14, 13686, 0, 0, 0, '', 'Valiant of Iron Forge if no tournament eligility marker'),
+(19, 0, 13704, 0, 0, 14, 13686, 0, 0, 0, '', 'Valiant of Gomregan if no tournament eligility marker'),
+(19, 0, 13705, 0, 0, 14, 13686, 0, 0, 0, '', 'Valiant of Exodar if no tournament eligility marker'),
+(19, 0, 13706, 0, 0, 14, 13686, 0, 0, 0, '', 'Valiant of Darnassus if no tournament eligility marker'),
+(19, 0, 13707, 0, 0, 14, 13687, 0, 0, 0, '', 'Valiant of Orgrimmar if no tournament eligility marker'),
+(19, 0, 13708, 0, 0, 14, 13687, 0, 0, 0, '', 'Valiant of Sen''Jin if no tournament eligility marker'),
+(19, 0, 13709, 0, 0, 14, 13687, 0, 0, 0, '', 'Valiant of Thunderbluff if no tournament eligility marker'),
+(19, 0, 13710, 0, 0, 14, 13687, 0, 0, 0, '', 'Valiant of Undercity if no tournament eligility marker'),
+(19, 0, 13711, 0, 0, 14, 13687, 0, 0, 0, '', 'Valiant of Silvermoon if no tournament eligility marker'),
+(20, 0, 13593, 0, 0, 14, 13686, 0, 0, 0, '', 'Valiant of Stormwind if no tournament eligility marker'),
+(20, 0, 13703, 0, 0, 14, 13686, 0, 0, 0, '', 'Valiant of Iron Forge if no tournament eligility marker'),
+(20, 0, 13704, 0, 0, 14, 13686, 0, 0, 0, '', 'Valiant of gomregan if no tournament eligility marker'),
+(20, 0, 13705, 0, 0, 14, 13686, 0, 0, 0, '', 'Valiant of Exodar if no tournament eligility marker'),
+(20, 0, 13706, 0, 0, 14, 13686, 0, 0, 0, '', 'Valiant of Darnassus if no tournament eligility marker'),
+(20, 0, 13707, 0, 0, 14, 13687, 0, 0, 0, '', 'Valiant of Orgrimmar if no tournament eligility marker'),
+(20, 0, 13708, 0, 0, 14, 13687, 0, 0, 0, '', 'Valiant of Sen''Jin if no tournament eligility marker'),
+(20, 0, 13709, 0, 0, 14, 13687, 0, 0, 0, '', 'Valiant of Thunderbluff if no tournament eligility marker'),
+(20, 0, 13710, 0, 0, 14, 13687, 0, 0, 0, '', 'Valiant of Undercity if no tournament eligility marker'),
+(20, 0, 13711, 0, 0, 14, 13687, 0, 0, 0, '', 'Valiant of Silvermoon if no tournament eligility marker');-- Conditions so all versions of the edge of winter which give valliants seals can only be taken while the player has the valliants charge for that faction in quest log (whether completed or not as players can continue doing these quests for rep and valiants seals as long as they dont turn it in.
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13616,13743,13748,13754,13759,13764,13770,13775,13780,13785);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13616,13743,13748,13754,13759,13764,13770,13775,13780,13785);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(19, 0, 13616, 0, 0, 9, 13718, 0, 0, 0, '', 'edge of winter- Stormwind'),
+(19, 0, 13743, 0, 0, 9, 13714, 0, 0, 0, '', 'edge of winter- Iron Forge'),
+(19, 0, 13748, 0, 0, 9, 13715, 0, 0, 0, '', 'edge of winter- Gnomeregan'),
+(19, 0, 13754, 0, 0, 9, 13716, 0, 0, 0, '', 'edge of winter- Exodar'),
+(19, 0, 13759, 0, 0, 9, 13717, 0, 0, 0, '', 'edge of winter- darnassus'),
+(19, 0, 13764, 0, 0, 9, 13697, 0, 0, 0, '', 'edge of winter- Ogrimmar'),
+(19, 0, 13770, 0, 0, 9, 13719, 0, 0, 0, '', 'edge of winter- Darkspear'),
+(19, 0, 13775, 0, 0, 9, 13720, 0, 0, 0, '', 'edge of winter- Thunderbluff'),
+(19, 0, 13780, 0, 0, 9, 13721, 0, 0, 0, '', 'edge of winter- Undercity'),
+(19, 0, 13785, 0, 0, 9, 13722, 0, 0, 0, '', 'edge of winter- Silvermoon'),
+(20, 0, 13616, 0, 0, 9, 13718, 0, 0, 0, '', 'edge of winter- Stormwind'),
+(20, 0, 13743, 0, 0, 9, 13714, 0, 0, 0, '', 'edge of winter- Iron Forge'),
+(20, 0, 13748, 0, 0, 9, 13715, 0, 0, 0, '', 'edge of winter- Gnomeregan'),
+(20, 0, 13754, 0, 0, 9, 13716, 0, 0, 0, '', 'edge of winter- Exodar'),
+(20, 0, 13759, 0, 0, 9, 13717, 0, 0, 0, '', 'edge of winter- darnassus'),
+(20, 0, 13764, 0, 0, 9, 13697, 0, 0, 0, '', 'edge of winter- Ogrimmar'),
+(20, 0, 13770, 0, 0, 9, 13719, 0, 0, 0, '', 'edge of winter- Darkspear'),
+(20, 0, 13775, 0, 0, 9, 13720, 0, 0, 0, '', 'edge of winter- Thunderbluff'),
+(20, 0, 13780, 0, 0, 9, 13721, 0, 0, 0, '', 'edge of winter- Undercity'),
+(20, 0, 13785, 0, 0, 9, 13722, 0, 0, 0, '', 'edge of winter- Silvermoon'),
+(19, 0, 13616, 0, 1 ,28, 13718, 0, 0, 0, '', 'edge of winter- Stormwind'),
+(19, 0, 13743, 0, 1 ,28, 13714, 0, 0, 0, '', 'edge of winter- Iron Forge'),
+(19, 0, 13748, 0, 1 ,28, 13715, 0, 0, 0, '', 'edge of winter- Gnomeregan'),
+(19, 0, 13754, 0, 1 ,28, 13716, 0, 0, 0, '', 'edge of winter- Exodar'),
+(19, 0, 13759, 0, 1 ,28, 13717, 0, 0, 0, '', 'edge of winter- darnassus'),
+(19, 0, 13764, 0, 1 ,28, 13697, 0, 0, 0, '', 'edge of winter- Ogrimmar'),
+(19, 0, 13770, 0, 1 ,28, 13719, 0, 0, 0, '', 'edge of winter- Darkspear'),
+(19, 0, 13775, 0, 1 ,28, 13720, 0, 0, 0, '', 'edge of winter- Thunderbluff'),
+(19, 0, 13780, 0, 1 ,28, 13721, 0, 0, 0, '', 'edge of winter- Undercity'),
+(19, 0, 13785, 0, 1 ,28, 13722, 0, 0, 0, '', 'edge of winter- Silvermoon'),
+(20, 0, 13616, 0, 1 ,28, 13718, 0, 0, 0, '', 'edge of winter- Stormwind'),
+(20, 0, 13743, 0, 1 ,28, 13714, 0, 0, 0, '', 'edge of winter- Iron Forge'),
+(20, 0, 13748, 0, 1 ,28, 13715, 0, 0, 0, '', 'edge of winter- Gnomeregan'),
+(20, 0, 13754, 0, 1 ,28, 13716, 0, 0, 0, '', 'edge of winter- Exodar'),
+(20, 0, 13759, 0, 1 ,28, 13717, 0, 0, 0, '', 'edge of winter- darnassus'),
+(20, 0, 13764, 0, 1 ,28, 13697, 0, 0, 0, '', 'edge of winter- Ogrimmar'),
+(20, 0, 13770, 0, 1 ,28, 13719, 0, 0, 0, '', 'edge of winter- Darkspear'),
+(20, 0, 13775, 0, 1 ,28, 13720, 0, 0, 0, '', 'edge of winter- Thunderbluff'),
+(20, 0, 13780, 0, 1 ,28, 13721, 0, 0, 0, '', 'edge of winter- Undercity'),
+(20, 0, 13785, 0, 1 ,28, 13722, 0, 0, 0, '', 'edge of winter- Silvermoon');
+
+-- Conditions so all versions of the a blade fit for a champion which give valliants seals can only be taken while the player has the valliants charge for that faction in quest log (whether completed or not as players can continue doing these quests for rep and valiants seals as long as they dont turn it in.
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13603,13741,13746,13752,13757,13762,13768,13773,13778,13783);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13603,13741,13746,13752,13757,13762,13768,13773,13778,13783);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(19, 0, 13603, 0, 0, 9, 13718, 0, 0, 0, '', 'a blade fit for a champion- Stormwind'),
+(19, 0, 13741, 0, 0, 9, 13714, 0, 0, 0, '', 'a blade fit for a champion- Iron Forge'),
+(19, 0, 13746, 0, 0, 9, 13715, 0, 0, 0, '', 'a blade fit for a champion- Gnomeregan'),
+(19, 0, 13752, 0, 0, 9, 13716, 0, 0, 0, '', 'a blade fit for a champion- Exodar'),
+(19, 0, 13757, 0, 0, 9, 13717, 0, 0, 0, '', 'a blade fit for a champion- darnassus'),
+(19, 0, 13762, 0, 0, 9, 13697, 0, 0, 0, '', 'a blade fit for a champion- Ogrimmar'),
+(19, 0, 13768, 0, 0, 9, 13719, 0, 0, 0, '', 'a blade fit for a champion- Darkspear'),
+(19, 0, 13773, 0, 0, 9, 13720, 0, 0, 0, '', 'a blade fit for a champion- Thunderbluff'),
+(19, 0, 13778, 0, 0, 9, 13721, 0, 0, 0, '', 'a blade fit for a champion- Undercity'),
+(19, 0, 13783, 0, 0, 9, 13722, 0, 0, 0, '', 'a blade fit for a champion- Silvermoon'),
+(20, 0, 13603, 0, 0, 9, 13718, 0, 0, 0, '', 'a blade fit for a champion- Stormwind'),
+(20, 0, 13741, 0, 0, 9, 13714, 0, 0, 0, '', 'a blade fit for a champion- Iron Forge'),
+(20, 0, 13746, 0, 0, 9, 13715, 0, 0, 0, '', 'a blade fit for a champion- Gnomeregan'),
+(20, 0, 13752, 0, 0, 9, 13716, 0, 0, 0, '', 'a blade fit for a champion- Exodar'),
+(20, 0, 13757, 0, 0, 9, 13717, 0, 0, 0, '', 'a blade fit for a champion- darnassus'),
+(20, 0, 13762, 0, 0, 9, 13697, 0, 0, 0, '', 'a blade fit for a champion- Ogrimmar'),
+(20, 0, 13768, 0, 0, 9, 13719, 0, 0, 0, '', 'a blade fit for a champion- Darkspear'),
+(20, 0, 13773, 0, 0, 9, 13720, 0, 0, 0, '', 'a blade fit for a champion- Thunderbluff'),
+(20, 0, 13778, 0, 0, 9, 13721, 0, 0, 0, '', 'a blade fit for a champion- Undercity'),
+(20, 0, 13783, 0, 0, 9, 13722, 0, 0, 0, '', 'a blade fit for a champion- Silvermoon'),
+(19, 0, 13603, 0, 1 ,28, 13718, 0, 0, 0, '', 'a blade fit for a champion- Stormwind'),
+(19, 0, 13741, 0, 1 ,28, 13714, 0, 0, 0, '', 'a blade fit for a champion- Iron Forge'),
+(19, 0, 13746, 0, 1 ,28, 13715, 0, 0, 0, '', 'a blade fit for a champion- Gnomeregan'),
+(19, 0, 13752, 0, 1 ,28, 13716, 0, 0, 0, '', 'a blade fit for a champion- Exodar'),
+(19, 0, 13757, 0, 1 ,28, 13717, 0, 0, 0, '', 'a blade fit for a champion- darnassus'),
+(19, 0, 13762, 0, 1 ,28, 13697, 0, 0, 0, '', 'a blade fit for a champion- Ogrimmar'),
+(19, 0, 13768, 0, 1 ,28, 13719, 0, 0, 0, '', 'a blade fit for a champion- Darkspear'),
+(19, 0, 13773, 0, 1 ,28, 13720, 0, 0, 0, '', 'a blade fit for a champion- Thunderbluff'),
+(19, 0, 13778, 0, 1 ,28, 13721, 0, 0, 0, '', 'a blade fit for a champion- Undercity'),
+(19, 0, 13783, 0, 1 ,28, 13722, 0, 0, 0, '', 'a blade fit for a champion- Silvermoon'),
+(20, 0, 13603, 0, 1 ,28, 13718, 0, 0, 0, '', 'a blade fit for a champion- Stormwind'),
+(20, 0, 13741, 0, 1 ,28, 13714, 0, 0, 0, '', 'a blade fit for a champion- Iron Forge'),
+(20, 0, 13746, 0, 1 ,28, 13715, 0, 0, 0, '', 'a blade fit for a champion- Gnomeregan'),
+(20, 0, 13752, 0, 1 ,28, 13716, 0, 0, 0, '', 'a blade fit for a champion- Exodar'),
+(20, 0, 13757, 0, 1 ,28, 13717, 0, 0, 0, '', 'a blade fit for a champion- darnassus'),
+(20, 0, 13762, 0, 1 ,28, 13697, 0, 0, 0, '', 'a blade fit for a champion- Ogrimmar'),
+(20, 0, 13768, 0, 1 ,28, 13719, 0, 0, 0, '', 'a blade fit for a champion- Darkspear'),
+(20, 0, 13773, 0, 1 ,28, 13720, 0, 0, 0, '', 'a blade fit for a champion- Thunderbluff'),
+(20, 0, 13778, 0, 1 ,28, 13721, 0, 0, 0, '', 'a blade fit for a champion- Undercity'),
+(20, 0, 13783, 0, 1 ,28, 13722, 0, 0, 0, '', 'a blade fit for a champion- Silvermoon');
+
+-- Conditions so all versions of the A Worthy Weapon which give valliants seals can only be taken while the player has the valliants charge for that faction in quest log (whether completed or not as players can continue doing these quests for rep and valiants seals as long as they dont turn it in.
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13600,13742,13747,13753,13758,13763,13769,13774,13779,13784);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13600,13742,13747,13753,13758,13763,13769,13774,13779,13784);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(19, 0, 13600, 0, 0, 9, 13718, 0, 0, 0, '', 'a worthy weapon- Stormwind'),
+(19, 0, 13742, 0, 0, 9, 13714, 0, 0, 0, '', 'a worthy weapon- Iron Forge'),
+(19, 0, 13747, 0, 0, 9, 13715, 0, 0, 0, '', 'a worthy weapon- Gnomeregan'),
+(19, 0, 13753, 0, 0, 9, 13716, 0, 0, 0, '', 'a worthy weapon- Exodar'),
+(19, 0, 13758, 0, 0, 9, 13717, 0, 0, 0, '', 'a worthy weapon- darnassus'),
+(19, 0, 13763, 0, 0, 9, 13697, 0, 0, 0, '', 'a worthy weapon- Ogrimmar'),
+(19, 0, 13769, 0, 0, 9, 13719, 0, 0, 0, '', 'a worthy weapon- Darkspear'),
+(19, 0, 13774, 0, 0, 9, 13720, 0, 0, 0, '', 'a worthy weapon- Thunderbluff'),
+(19, 0, 13779, 0, 0, 9, 13721, 0, 0, 0, '', 'a worthy weapon- Undercity'),
+(19, 0, 13784, 0, 0, 9, 13722, 0, 0, 0, '', 'a worthy weapon- Silvermoon'),
+(20, 0, 13600, 0, 0, 9, 13718, 0, 0, 0, '', 'a worthy weapon- Stormwind'),
+(20, 0, 13742, 0, 0, 9, 13714, 0, 0, 0, '', 'a worthy weapon- Iron Forge'),
+(20, 0, 13747, 0, 0, 9, 13715, 0, 0, 0, '', 'a worthy weapon- Gnomeregan'),
+(20, 0, 13753, 0, 0, 9, 13716, 0, 0, 0, '', 'a worthy weapon- Exodar'),
+(20, 0, 13758, 0, 0, 9, 13717, 0, 0, 0, '', 'a worthy weapon- darnassus'),
+(20, 0, 13763, 0, 0, 9, 13697, 0, 0, 0, '', 'a worthy weapon- Ogrimmar'),
+(20, 0, 13769, 0, 0, 9, 13719, 0, 0, 0, '', 'a worthy weapon- Darkspear'),
+(20, 0, 13774, 0, 0, 9, 13720, 0, 0, 0, '', 'a worthy weapon- Thunderbluff'),
+(20, 0, 13779, 0, 0, 9, 13721, 0, 0, 0, '', 'a worthy weapon- Undercity'),
+(20, 0, 13784, 0, 0, 9, 13722, 0, 0, 0, '', 'a worthy weapon- Silvermoon'),
+(19, 0, 13600, 0, 1 ,28, 13718, 0, 0, 0, '', 'a worthy weapon- Stormwind'),
+(19, 0, 13742, 0, 1 ,28, 13714, 0, 0, 0, '', 'a worthy weapon- Iron Forge'),
+(19, 0, 13747, 0, 1 ,28, 13715, 0, 0, 0, '', 'a worthy weapon- Gnomeregan'),
+(19, 0, 13753, 0, 1 ,28, 13716, 0, 0, 0, '', 'a worthy weapon- Exodar'),
+(19, 0, 13758, 0, 1 ,28, 13717, 0, 0, 0, '', 'a worthy weapon- darnassus'),
+(19, 0, 13763, 0, 1 ,28, 13697, 0, 0, 0, '', 'a worthy weapon- Ogrimmar'),
+(19, 0, 13769, 0, 1 ,28, 13719, 0, 0, 0, '', 'a worthy weapon- Darkspear'),
+(19, 0, 13774, 0, 1 ,28, 13720, 0, 0, 0, '', 'a worthy weapon- Thunderbluff'),
+(19, 0, 13779, 0, 1 ,28, 13721, 0, 0, 0, '', 'a worthy weapon- Undercity'),
+(19, 0, 13784, 0, 1 ,28, 13722, 0, 0, 0, '', 'a worthy weapon- Silvermoon'),
+(20, 0, 13600, 0, 1 ,28, 13718, 0, 0, 0, '', 'a worthy weapon- Stormwind'),
+(20, 0, 13742, 0, 1 ,28, 13714, 0, 0, 0, '', 'a worthy weapon- Iron Forge'),
+(20, 0, 13747, 0, 1 ,28, 13715, 0, 0, 0, '', 'a worthy weapon- Gnomeregan'),
+(20, 0, 13753, 0, 1 ,28, 13716, 0, 0, 0, '', 'a worthy weapon- Exodar'),
+(20, 0, 13758, 0, 1 ,28, 13717, 0, 0, 0, '', 'a worthy weapon- darnassus'),
+(20, 0, 13763, 0, 1 ,28, 13697, 0, 0, 0, '', 'a worthy weapon- Ogrimmar'),
+(20, 0, 13769, 0, 1 ,28, 13719, 0, 0, 0, '', 'a worthy weapon- Darkspear'),
+(20, 0, 13774, 0, 1 ,28, 13720, 0, 0, 0, '', 'a worthy weapon- Thunderbluff'),
+(20, 0, 13779, 0, 1 ,28, 13721, 0, 0, 0, '', 'a worthy weapon- Undercity'),
+(20, 0, 13784, 0, 1 ,28, 13722, 0, 0, 0, '', 'a worthy weapon- Silvermoon');
+
+-- Conditions so all versions of at the enemies gates which give valliants seals can only be taken while the player has the valliants charge for that faction in quest log (whether completed or not as players can continue doing these quests for rep and valiants seals as long as they dont turn it in.
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13847,13851,13852,13854,13855,13856,13857,13858,13859,13860);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13847,13851,13852,13854,13855,13856,13857,13858,13859,13860);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(19, 0, 13847, 0, 0, 9, 13718, 0, 0, 0, '', 'at the enemies gates- Stormwind'),
+(19, 0, 13847, 0, 1, 28, 13718, 0, 0, 0, '', 'at the enemies gates- Stormwind'),
+(19, 0, 13851, 0, 0, 9, 13714, 0, 0, 0, '', 'at the enemies gates- Iron Forge'),
+(19, 0, 13851, 0, 1, 28, 13714, 0, 0, 0, '', 'at the enemies gates- Iron Forge'),
+(19, 0, 13852, 0, 0, 9, 13715, 0, 0, 0, '', 'at the enemies gates- Gnomeregan'),
+(19, 0, 13852, 0, 1, 28, 13715, 0, 0, 0, '', 'at the enemies gates- Gnomeregan'),
+(19, 0, 13854, 0, 0, 9, 13716, 0, 0, 0, '', 'at the enemies gates- Exodar'),
+(19, 0, 13854, 0, 1, 28, 13716, 0, 0, 0, '', 'at the enemies gates- Exodar'),
+(19, 0, 13855, 0, 0, 9, 13717, 0, 0, 0, '', 'at the enemies gates- darnassus'),
+(19, 0, 13855, 0, 1, 28, 13717, 0, 0, 0, '', 'at the enemies gates- darnassus'),
+(19, 0, 13856, 0, 0, 9, 13697, 0, 0, 0, '', 'at the enemies gates- Ogrimmar'),
+(19, 0, 13856, 0, 1, 28, 13697, 0, 0, 0, '', 'at the enemies gates- Ogrimmar'),
+(19, 0, 13857, 0, 0, 9, 13719, 0, 0, 0, '', 'at the enemies gates- Darkspear'),
+(19, 0, 13857, 0, 1, 28, 13719, 0, 0, 0, '', 'at the enemies gates- Darkspear'),
+(19, 0, 13858, 0, 0, 9, 13720, 0, 0, 0, '', 'at the enemies gates- Thunderbluff'),
+(19, 0, 13858, 0, 1, 28, 13720, 0, 0, 0, '', 'at the enemies gates- Thunderbluff'),
+(19, 0, 13859, 0, 0, 9, 13722, 0, 0, 0, '', 'at the enemies gates- Silvermoon'),
+(19, 0, 13859, 0, 1, 28, 13722, 0, 0, 0, '', 'at the enemies gates- Silvermoon'),
+(19, 0, 13860, 0, 0, 9, 13721, 0, 0, 0, '', 'at the enemies gates- Undercity'),
+(19, 0, 13860, 0, 1, 28, 13721, 0, 0, 0, '', 'at the enemies gates- Undercity'),
+(20, 0, 13847, 0, 0, 9, 13718, 0, 0, 0, '', 'at the ememies gates- Stormwind'),
+(20, 0, 13851, 0, 0, 9, 13714, 0, 0, 0, '', 'at the ememies gates- Iron Forge'),
+(20, 0, 13852, 0, 0, 9, 13715, 0, 0, 0, '', 'at the ememies gates- Gnomeregan'),
+(20, 0, 13854, 0, 0, 9, 13716, 0, 0, 0, '', 'at the ememies gates- Exodar'),
+(20, 0, 13855, 0, 0, 9, 13717, 0, 0, 0, '', 'at the ememies gates- darnassus'),
+(20, 0, 13856, 0, 0, 9, 13697, 0, 0, 0, '', 'at the ememies gates- Ogrimmar'),
+(20, 0, 13857, 0, 0, 9, 13719, 0, 0, 0, '', 'at the ememies gates- Darkspear'),
+(20, 0, 13858, 0, 0, 9, 13720, 0, 0, 0, '', 'at the ememies gates- Thunderbluff'),
+(20, 0, 13859, 0, 0, 9, 13722, 0, 0, 0, '', 'at the ememies gates- Silvermoon'),
+(20, 0, 13860, 0, 0, 9, 13721, 0, 0, 0, '', 'at the ememies gates- Undercity'),
+(20, 0, 13847, 0, 1 ,28, 13718, 0, 0, 0, '', 'at the ememies gates- Stormwind'),
+(20, 0, 13851, 0, 1 ,28, 13714, 0, 0, 0, '', 'at the ememies gates- Iron Forge'),
+(20, 0, 13852, 0, 1 ,28, 13715, 0, 0, 0, '', 'at the ememies gates- Gnomeregan'),
+(20, 0, 13854, 0, 1 ,28, 13716, 0, 0, 0, '', 'at the ememies gates- Exodar'),
+(20, 0, 13855, 0, 1 ,28, 13717, 0, 0, 0, '', 'at the ememies gates- darnassus'),
+(20, 0, 13856, 0, 1 ,28, 13697, 0, 0, 0, '', 'at the ememies gates- Ogrimmar'),
+(20, 0, 13857, 0, 1 ,28, 13719, 0, 0, 0, '', 'at the ememies gates- Darkspear'),
+(20, 0, 13858, 0, 1 ,28, 13720, 0, 0, 0, '', 'at the ememies gates- Thunderbluff'),
+(20, 0, 13859, 0, 1 ,28, 13722, 0, 0, 0, '', 'at the ememies gates- Silvermoon'),
+(20, 0, 13860, 0, 1 ,28, 13721, 0, 0, 0, '', 'at the ememies gates- Undercity');
+
+-- Conditions so all versions of a valiants field training which give valliants seals can only be taken while the player has the valliants charge for that faction in quest log (whether completed or not as players can continue doing these quests for rep and valiants seals as long as they dont turn it in.
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13592,13744,13749,13755,13760,13765,13771,13776,13781,13786);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13592,13744,13749,13755,13760,13765,13771,13776,13781,13786);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(19, 0, 13592, 0, 0, 9, 13718, 0, 0, 0, '', 'A Valiants Field Training- Stormwind'),
+(19, 0, 13744, 0, 0, 9, 13714, 0, 0, 0, '', 'A Valiants Field Training- Iron Forge'),
+(19, 0, 13749, 0, 0, 9, 13715, 0, 0, 0, '', 'A Valiants Field Training- Gnomeregan'),
+(19, 0, 13755, 0, 0, 9, 13716, 0, 0, 0, '', 'A Valiants Field Training- Exodar'),
+(19, 0, 13760, 0, 0, 9, 13717, 0, 0, 0, '', 'A Valiants Field Training- darnassus'),
+(19, 0, 13765, 0, 0, 9, 13697, 0, 0, 0, '', 'A Valiants Field Training- Ogrimmar'),
+(19, 0, 13771, 0, 0, 9, 13719, 0, 0, 0, '', 'A Valiants Field Training- Darkspear'),
+(19, 0, 13776, 0, 0, 9, 13720, 0, 0, 0, '', 'A Valiants Field Training- Thunderbluff'),
+(19, 0, 13781, 0, 0, 9, 13721, 0, 0, 0, '', 'A Valiants Field Training- Undercity'),
+(19, 0, 13786, 0, 0, 9, 13722, 0, 0, 0, '', 'A Valiants Field Training- Silvermoon'),
+(20, 0, 13592, 0, 0, 9, 13718, 0, 0, 0, '', 'A Valiants Field Training- Stormwind'),
+(20, 0, 13744, 0, 0, 9, 13714, 0, 0, 0, '', 'A Valiants Field Training- Iron Forge'),
+(20, 0, 13749, 0, 0, 9, 13715, 0, 0, 0, '', 'A Valiants Field Training- Gnomeregan'),
+(20, 0, 13755, 0, 0, 9, 13716, 0, 0, 0, '', 'A Valiants Field Training- Exodar'),
+(20, 0, 13760, 0, 0, 9, 13717, 0, 0, 0, '', 'A Valiants Field Training- darnassus'),
+(20, 0, 13765, 0, 0, 9, 13697, 0, 0, 0, '', 'A Valiants Field Training- Ogrimmar'),
+(20, 0, 13771, 0, 0, 9, 13719, 0, 0, 0, '', 'A Valiants Field Training- Darkspear'),
+(20, 0, 13776, 0, 0, 9, 13720, 0, 0, 0, '', 'A Valiants Field Training- Thunderbluff'),
+(20, 0, 13781, 0, 0, 9, 13721, 0, 0, 0, '', 'A Valiants Field Training- Undercity'),
+(20, 0, 13786, 0, 0, 9, 13722, 0, 0, 0, '', 'A Valiants Field Training- Silvermoon'),
+(19, 0, 13592, 0, 1 ,28, 13718, 0, 0, 0, '', 'A Valiants Field Training- Stormwind'),
+(19, 0, 13744, 0, 1 ,28, 13714, 0, 0, 0, '', 'A Valiants Field Training- Iron Forge'),
+(19, 0, 13749, 0, 1 ,28, 13715, 0, 0, 0, '', 'A Valiants Field Training- Gnomeregan'),
+(19, 0, 13755, 0, 1 ,28, 13716, 0, 0, 0, '', 'A Valiants Field Training- Exodar'),
+(19, 0, 13760, 0, 1 ,28, 13717, 0, 0, 0, '', 'A Valiants Field Training- darnassus'),
+(19, 0, 13765, 0, 1 ,28, 13697, 0, 0, 0, '', 'A Valiants Field Training- Ogrimmar'),
+(19, 0, 13771, 0, 1 ,28, 13719, 0, 0, 0, '', 'A Valiants Field Training- Darkspear'),
+(19, 0, 13776, 0, 1 ,28, 13720, 0, 0, 0, '', 'A Valiants Field Training- Thunderbluff'),
+(19, 0, 13781, 0, 1 ,28, 13721, 0, 0, 0, '', 'A Valiants Field Training- Undercity'),
+(19, 0, 13786, 0, 1 ,28, 13722, 0, 0, 0, '', 'A Valiants Field Training- Silvermoon'),
+(20, 0, 13592, 0, 1 ,28, 13718, 0, 0, 0, '', 'A Valiants Field Training- Stormwind'),
+(20, 0, 13744, 0, 1 ,28, 13714, 0, 0, 0, '', 'A Valiants Field Training- Iron Forge'),
+(20, 0, 13749, 0, 1 ,28, 13715, 0, 0, 0, '', 'A Valiants Field Training- Gnomeregan'),
+(20, 0, 13755, 0, 1 ,28, 13716, 0, 0, 0, '', 'A Valiants Field Training- Exodar'),
+(20, 0, 13760, 0, 1 ,28, 13717, 0, 0, 0, '', 'A Valiants Field Training- darnassus'),
+(20, 0, 13765, 0, 1 ,28, 13697, 0, 0, 0, '', 'A Valiants Field Training- Ogrimmar'),
+(20, 0, 13771, 0, 1 ,28, 13719, 0, 0, 0, '', 'A Valiants Field Training- Darkspear'),
+(20, 0, 13776, 0, 1 ,28, 13720, 0, 0, 0, '', 'A Valiants Field Training- Thunderbluff'),
+(20, 0, 13781, 0, 1 ,28, 13721, 0, 0, 0, '', 'A Valiants Field Training- Undercity'),
+(20, 0, 13786, 0, 1 ,28, 13722, 0, 0, 0, '', 'A Valiants Field Training- Silvermoon');
+
+-- Conditions so all versions of the grand melee which give valliants seals can only be taken while the player has the valliants charge for that faction in quest log (whether completed or not as players can continue doing these quests for rep and valiants seals as long as they dont turn it in.
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13665,13745,13750,13756,13761,13767,13772,13777,13782,13787);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference` IN (9,28) AND `SourceEntry` IN (13665,13745,13750,13756,13761,13767,13772,13777,13782,13787);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(19, 0, 13665, 0, 0, 9, 13718, 0, 0, 0, '', 'the grand melee- Stormwind'),
+(19, 0, 13665, 0, 1, 28, 13718, 0, 0, 0, '', 'the grand melee- Stormwind'),
+(19, 0, 13745, 0, 0, 9, 13714, 0, 0, 0, '', 'the grand melee- Iron Forge'),
+(19, 0, 13745, 0, 1, 28, 13714, 0, 0, 0, '', 'the grand melee- Iron Forge'),
+(19, 0, 13750, 0, 0, 9, 13715, 0, 0, 0, '', 'the grand melee- Gnomeregan'),
+(19, 0, 13750, 0, 1, 28, 13715, 0, 0, 0, '', 'the grand melee- Gnomeregan'),
+(19, 0, 13756, 0, 0, 9, 13716, 0, 0, 0, '', 'the grand melee- Exodar'),
+(19, 0, 13756, 0, 1, 28, 13716, 0, 0, 0, '', 'the grand melee- Exodar'),
+(19, 0, 13761, 0, 0, 9, 13717, 0, 0, 0, '', 'the grand melee- darnassus'),
+(19, 0, 13761, 0, 1, 28, 13717, 0, 0, 0, '', 'the grand melee- darnassus'),
+(19, 0, 13767, 0, 0, 9, 13697, 0, 0, 0, '', 'the grand melee- Ogrimmar'),
+(19, 0, 13767, 0, 1, 28, 13697, 0, 0, 0, '', 'the grand melee- Ogrimmar'),
+(19, 0, 13772, 0, 0, 9, 13719, 0, 0, 0, '', 'the grand melee- Darkspear'),
+(19, 0, 13772, 0, 1, 28, 13719, 0, 0, 0, '', 'the grand melee- Darkspear'),
+(19, 0, 13777, 0, 0, 9, 13720, 0, 0, 0, '', 'the grand melee- Thunderbluff'),
+(19, 0, 13777, 0, 1, 28, 13720, 0, 0, 0, '', 'the grand melee- Thunderbluff'),
+(19, 0, 13782, 0, 0, 9, 13721, 0, 0, 0, '', 'the grand melee- Undercity'),
+(19, 0, 13782, 0, 1, 28, 13721, 0, 0, 0, '', 'the grand melee- Undercity'),
+(19, 0, 13787, 0, 0, 9, 13722, 0, 0, 0, '', 'the grand melee- Silvermoon'),
+(19, 0, 13787, 0, 1, 28, 13722, 0, 0, 0, '', 'the grand melee- Silvermoon'),
+(20, 0, 13665, 0, 0, 9, 13718, 0, 0, 0, '', 'the grand melee- Stormwind'),
+(20, 0, 13665, 0, 1, 28, 13718, 0, 0, 0, '', 'the grand melee- Stormwind'),
+(20, 0, 13745, 0, 0, 9, 13714, 0, 0, 0, '', 'the grand melee- Iron Forge'),
+(20, 0, 13745, 0, 1, 28, 13714, 0, 0, 0, '', 'the grand melee- Iron Forge'),
+(20, 0, 13750, 0, 0, 9, 13715, 0, 0, 0, '', 'the grand melee- Gnomeregan'),
+(20, 0, 13750, 0, 1, 28, 13715, 0, 0, 0, '', 'the grand melee- Gnomeregan'),
+(20, 0, 13756, 0, 0, 9, 13716, 0, 0, 0, '', 'the grand melee- Exodar'),
+(20, 0, 13756, 0, 1, 28, 13716, 0, 0, 0, '', 'the grand melee- Exodar'),
+(20, 0, 13761, 0, 0, 9, 13717, 0, 0, 0, '', 'the grand melee- darnassus'),
+(20, 0, 13761, 0, 1, 28, 13717, 0, 0, 0, '', 'the grand melee- darnassus'),
+(20, 0, 13767, 0, 0, 9, 13697, 0, 0, 0, '', 'the grand melee- Ogrimmar'),
+(20, 0, 13767, 0, 1, 28, 13697, 0, 0, 0, '', 'the grand melee- Ogrimmar'),
+(20, 0, 13772, 0, 0, 9, 13719, 0, 0, 0, '', 'the grand melee- Darkspear'),
+(20, 0, 13772, 0, 1, 28, 13719, 0, 0, 0, '', 'the grand melee- Darkspear'),
+(20, 0, 13777, 0, 0, 9, 13720, 0, 0, 0, '', 'the grand melee- Thunderbluff'),
+(20, 0, 13777, 0, 1, 28, 13720, 0, 0, 0, '', 'the grand melee- Thunderbluff'),
+(20, 0, 13782, 0, 0, 9, 13721, 0, 0, 0, '', 'the grand melee- Undercity'),
+(20, 0, 13782, 0, 1, 28, 13721, 0, 0, 0, '', 'the grand melee- Undercity'),
+(20, 0, 13787, 0, 0, 9, 13722, 0, 0, 0, '', 'the grand melee- Silvermoon'),
+(20, 0, 13787, 0, 1, 28, 13722, 0, 0, 0, '', 'the grand melee- Silvermoon');
+
+-- Conditions for sunreavers/silver covenant and crusader dailies so these can only be done if players have earnt the achievement which unlocks them.
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference`= 17 AND `SourceEntry` IN (14101,14102,14104,14105,14107,14108,14074,14076,14077,14080,14090,14096,14112,14152,14092,14136,14140,14141,14142,14143,14144,14145);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference`= 17 AND `SourceEntry` IN (14101,14102,14104,14105,14107,14108,14074,14076,14077,14080,14090,14096,14112,14152,14092,14136,14140,14141,14142,14143,14144,14145);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(19, 0, 14101, 0, 0, 17, 2817, 0, 0, 0, '', 'Drottinn Hrothgar requires crusader'),
+(19, 0, 14101, 0, 1, 17, 2816, 0, 0, 0, '', 'Drottinn Hrothgar requires crusader'),
+(19, 0, 14102, 0, 0, 17, 2817, 0, 0, 0, '', 'Mistcaller Yngvar requires crusader'),
+(19, 0, 14102, 0, 1, 17, 2816, 0, 0, 0, '', 'Mistcaller Yngvar requires crusader'),
+(19, 0, 14104, 0, 0, 17, 2817, 0, 0, 0, '', 'Ornolf The Scarred requires crusader'),
+(19, 0, 14104, 0, 1, 17, 2816, 0, 0, 0, '', 'Ornolf The Scarred requires crusader'),
+(19, 0, 14105, 0, 0, 17, 2817, 0, 0, 0, '', 'Deathspeaker Kharos requires crusader'),
+(19, 0, 14105, 0, 1, 17, 2816, 0, 0, 0, '', 'Deathspeaker Kharos requires crusader'),
+(19, 0, 14107, 0, 0, 17, 2817, 0, 0, 0, '', 'The Fate Of The Fallen requires crusader'),
+(19, 0, 14107, 0, 1, 17, 2816, 0, 0, 0, '', 'The Fate Of The Fallen requires crusader'),
+(19, 0, 14108, 0, 0, 17, 2817, 0, 0, 0, '', 'Get Kraken requires crusader'),
+(19, 0, 14108, 0, 1, 17, 2816, 0, 0, 0, '', 'Get Kraken requires crusader'),
+(19, 0, 14074, 0, 0, 17, 3676, 0, 0, 0, '', 'A Leg Up requires A silver confident'),
+(19, 0, 14076, 0, 0, 17, 3676, 0, 0, 0, '', 'Breakfast Of Champions requires A silver confident'),
+(19, 0, 14077, 0, 0, 17, 3676, 0, 0, 0, '', 'The Light''s Mercy requires A silver confident'),
+(19, 0, 14080, 0, 0, 17, 3676, 0, 0, 0, '', 'Stop The Aggressors requires A silver confident'),
+(19, 0, 14090, 0, 0, 17, 3676, 0, 0, 0, '', 'Gormok Wants His Snobolds requires A silver confident'),
+(19, 0, 14096, 0, 0, 17, 3676, 0, 0, 0, '', 'You''ve Really Done It This Time, Kul requires A silver confident'),
+(19, 0, 14112, 0, 0, 17, 3676, 0, 0, 0, '', 'What Do You Feed a Yeti, Anyway? requires A silver confident'),
+(19, 0, 14152, 0, 0, 17, 3676, 0, 0, 0, '', 'Rescue at Sea requires A silver confident'),
+(19, 0, 14092, 0, 0, 17, 3677, 0, 0, 0, '', 'Breakfast Of Champions requires The sunreavers'),
+(19, 0, 14136, 0, 0, 17, 3677, 0, 0, 0, '', 'Rescue at Sea requires The sunreavers'),
+(19, 0, 14140, 0, 0, 17, 3677, 0, 0, 0, '', 'Stop The Aggressors requires The sunreavers'),
+(19, 0, 14141, 0, 0, 17, 3677, 0, 0, 0, '', 'Gormok Wants His Snobolds requires The sunreavers'),
+(19, 0, 14142, 0, 0, 17, 3677, 0, 0, 0, '', 'You''ve Really Done It This Time, Kul requires The sunreavers'),
+(19, 0, 14143, 0, 0, 17, 3677, 0, 0, 0, '', 'A Leg Up requires The sunreavers'),
+(19, 0, 14144, 0, 0, 17, 3677, 0, 0, 0, '', 'The Light''s Mercy requires The sunreavers'),
+(19, 0, 14145, 0, 0, 17, 3677, 0, 0, 0, '', 'What Do You Feed a Yeti, Anyway? requires The sunreavers'),
+(20, 0, 14101, 0, 0, 17, 2817, 0, 0, 0, '', 'Drottinn Hrothgar requires crusader'),
+(20, 0, 14101, 0, 1, 17, 2816, 0, 0, 0, '', 'Drottinn Hrothgar requires crusader'),
+(20, 0, 14102, 0, 0, 17, 2817, 0, 0, 0, '', 'Mistcaller Yngvar requires crusader'),
+(20, 0, 14102, 0, 1, 17, 2816, 0, 0, 0, '', 'Mistcaller Yngvar requires crusader'),
+(20, 0, 14104, 0, 0, 17, 2817, 0, 0, 0, '', 'Ornolf The Scarred requires crusader'),
+(20, 0, 14104, 0, 1, 17, 2816, 0, 0, 0, '', 'Ornolf The Scarred requirescrusader'),
+(20, 0, 14105, 0, 0, 17, 2817, 0, 0, 0, '', 'Deathspeaker Kharos requires crusader'),
+(20, 0, 14105, 0, 1, 17, 2816, 0, 0, 0, '', 'Deathspeaker Kharos requires crusader'),
+(20, 0, 14107, 0, 0, 17, 2817, 0, 0, 0, '', 'The Fate Of The Fallen requires crusader'),
+(20, 0, 14107, 0, 1, 17, 2816, 0, 0, 0, '', 'The Fate Of The Fallen requires crusader'),
+(20, 0, 14108, 0, 0, 17, 2817, 0, 0, 0, '', 'Get Kraken requires crusader'),
+(20, 0, 14108, 0, 1, 17, 2816, 0, 0, 0, '', 'Get Kraken requires crusader'),
+(20, 0, 14074, 0, 0, 17, 3676, 0, 0, 0, '', 'A Leg Up requires A silver confident'),
+(20, 0, 14076, 0, 0, 17, 3676, 0, 0, 0, '', 'Breakfast Of Champions requires A silver confident'),
+(20, 0, 14077, 0, 0, 17, 3676, 0, 0, 0, '', 'The Light''s Mercy requires A silver confident'),
+(20, 0, 14080, 0, 0, 17, 3676, 0, 0, 0, '', 'Stop The Aggressors requires A silver confident'),
+(20, 0, 14090, 0, 0, 17, 3676, 0, 0, 0, '', 'Gormok Wants His Snobolds requires A silver confident'),
+(20, 0, 14096, 0, 0, 17, 3676, 0, 0, 0, '', 'You''ve Really Done It This Time, Kul requires A silver confident'),
+(20, 0, 14112, 0, 0, 17, 3676, 0, 0, 0, '', 'What Do You Feed a Yeti, Anyway? requires A silver confident'),
+(20, 0, 14152, 0, 0, 17, 3676, 0, 0, 0, '', 'Rescue at Sea requires A silver confident'),
+(20, 0, 14092, 0, 0, 17, 3677, 0, 0, 0, '', 'Breakfast Of Champions requires The sunreavers'),
+(20, 0, 14136, 0, 0, 17, 3677, 0, 0, 0, '', 'Rescue at Sea requires The sunreavers'),
+(20, 0, 14140, 0, 0, 17, 3677, 0, 0, 0, '', 'Stop The Aggressors requires The sunreavers'),
+(20, 0, 14141, 0, 0, 17, 3677, 0, 0, 0, '', 'Gormok Wants His Snobolds requires The sunreavers'),
+(20, 0, 14142, 0, 0, 17, 3677, 0, 0, 0, '', 'You''ve Really Done It This Time, Kul requires The sunreavers'),
+(20, 0, 14143, 0, 0, 17, 3677, 0, 0, 0, '', 'A Leg Up requires The sunreavers'),
+(20, 0, 14144, 0, 0, 17, 3677, 0, 0, 0, '', 'The Light''s Mercy requires The sunreavers'),
+(20, 0, 14145, 0, 0, 17, 3677, 0, 0, 0, '', 'What Do You Feed a Yeti, Anyway? arequires The sunreavers');
+
+-- conditions so quests which give aspirants seals can only be taken while player has upto the challenge
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `ConditionTypeOrReference`= 9 AND `SourceEntry` IN (13625,13666,13669,13670,13671,13673,13674,13675,13676,13677);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `ConditionTypeOrReference`= 9 AND `SourceEntry` IN (13625,13666,13669,13670,13671,13673,13674,13675,13676,13677);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(19, 0, 13625, 0, 0, 9, 13672, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(19, 0, 13666, 0, 0, 9, 13672, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(19, 0, 13669, 0, 0, 9, 13672, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(19, 0, 13670, 0, 0, 9, 13672, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(19, 0, 13671, 0, 0, 9, 13672, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(19, 0, 13673, 0, 0, 9, 13678, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(19, 0, 13674, 0, 0, 9, 13678, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(19, 0, 13675, 0, 0, 9, 13678, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(19, 0, 13676, 0, 0, 9, 13678, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(19, 0, 13677, 0, 0, 9, 13678, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(20, 0, 13625, 0, 0, 9, 13672, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(20, 0, 13666, 0, 0, 9, 13672, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(20, 0, 13669, 0, 0, 9, 13672, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(20, 0, 13670, 0, 0, 9, 13672, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(20, 0, 13671, 0, 0, 9, 13672, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(20, 0, 13673, 0, 0, 9, 13678, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(20, 0, 13674, 0, 0, 9, 13678, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(20, 0, 13675, 0, 0, 9, 13678, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(20, 0, 13676, 0, 0, 9, 13678, 0, 0, 0, '', 'player needs to be on quest upto the challenge'),
+(20, 0, 13677, 0, 0, 9, 13678, 0, 0, 0, '', 'player needs to be on quest upto the challenge');
+
+-- quest pooling for sunreavers/silver covenant and crusader silverdawn dailys
+DELETE FROM `pool_quest` WHERE `pool_entry` IN (@Pool, @Pool+1, @Pool+2, @Pool+3, @Pool+4);
+INSERT INTO `pool_quest` (`entry`, `pool_entry`, `description`) VALUES
+(14074, @Pool, 'A Leg Up'),
+(14152, @Pool, 'Rescue at Sea'),
+(14080, @Pool, 'Stop The Aggressors'),
+(14077, @Pool, 'The Light''s Mercy'),
+(14076, @Pool+1, 'Breakfast of Champions'),
+(14090, @Pool+1, 'Gormok Wants His Snobolds'),
+(14112, @Pool+1, 'What Do You Feed a Yeti, Anyway?'),
+(14143, @Pool+2, 'A Leg Up'),
+(14136, @Pool+2, 'Rescue at Sea'),
+(14140, @Pool+2, 'Stop The Aggressors'),
+(14144, @Pool+2, 'The Light''s Mercy'),
+(14092, @Pool+3, 'Breakfast of Champions'),
+(14141, @Pool+3, 'Gormok Wants His Snobolds'),
+(14145, @Pool+3, 'What Do You Feed a Yeti, Anyway?'),
+(14108, @Pool+4, 'Crusader Silverdawn - Get Kraken'),
+(14107, @Pool+4, 'Crusader Silverdawn - The Fate of the Fallen');
+
+DELETE FROM `pool_template` WHERE `entry` IN (@Pool, @Pool+1, @Pool+2, @Pool+3, @Pool+4);
+INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
+(@Pool, 1, 'Narasi Snowdawn <The Silver Covenant> - Daily Quests'),
+(@Pool+1, 1, 'Savinia Loresong <The Silver Covenant> - Daily Quests'),
+(@Pool+2, 1, 'Girana the Blooded <The Sunreavers> - Daily Quests'),
+(@Pool+3, 1, 'Tylos Dawnrunner <The Sunreavers> - Daily Quests'),
+(@Pool+4, 1, 'Crusader Silverdawn Dailies');
diff --git a/sql/updates/world/2014_07_08_03_world_creature.sql b/sql/updates/world/2014_07_08_03_world_creature.sql
new file mode 100644
index 00000000000..b31f8be34c0
--- /dev/null
+++ b/sql/updates/world/2014_07_08_03_world_creature.sql
@@ -0,0 +1,5 @@
+--
+SET @CGUID := 43498;
+DELETE FROM `creature` WHERE id=37527;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID, 37527, 530, 1, 1, 12559.3, -6783.323, 15.06894, 0.06981317, 120, 0, 0);
diff --git a/sql/updates/world/2014_07_08_04_world_creature.sql b/sql/updates/world/2014_07_08_04_world_creature.sql
new file mode 100644
index 00000000000..0b6fa9ec8e4
--- /dev/null
+++ b/sql/updates/world/2014_07_08_04_world_creature.sql
@@ -0,0 +1,11 @@
+--
+SET @CGUID := 43502;
+DELETE FROM `creature` WHERE `id`=14494;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
+(@CGUID, 14494, 0, 1, 1, 0, 0, 3325.180420 , -2997.122803, 164.205444, 5.663, 300, 0, 0, 3052, 0, 0, 0, 0, 0);
+
+UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= 14494;
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=14494;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(14494, 0, 0, 0,11, 0, 100, 0, 0, 0, 0, 0, 11, 32648, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Eris Havenfire - On Spawn - Cast Ancestor Invisibility');
diff --git a/sql/updates/world/2014_07_08_05_world_misc.sql b/sql/updates/world/2014_07_08_05_world_misc.sql
new file mode 100644
index 00000000000..ad16a1efc1d
--- /dev/null
+++ b/sql/updates/world/2014_07_08_05_world_misc.sql
@@ -0,0 +1,48 @@
+-- [Q] [H] Catch the Wild Wolpertinger!
+-- Alliance version already had this
+DELETE FROM `creature_queststarter` WHERE `id`=24657 AND `quest`=11431;
+INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (24657,11431);
+DELETE FROM `creature_questender` WHERE `id`=24657 AND `quest`=11431;
+INSERT INTO `creature_questender` (`id`,`quest`) VALUES (24657,11431);
+
+-- [Q] [A/H] Did Someone Say "Souvenir?" (removed in 2.4.3) & Say, There Wouldn't Happen to be a Souvenir This Year, Would There?
+DELETE FROM `creature_queststarter` WHERE `quest` IN (11321,11413,12193);
+DELETE FROM `creature_questender` WHERE `quest` IN (11321,11413);
+
+-- [Q] [A/H] Save Brewfest! should have pre-req Welcome to Brewfest!
+UPDATE `quest_template` SET `PrevQuestId`=11442 WHERE `id`=12318;
+
+-- [Q] [A/H] Save Brewfest! - removed in 2.4.3
+DELETE FROM `creature_queststarter` WHERE `quest`=12318;
+DELETE FROM `creature_questender` WHERE `quest`=12318;
+
+-- [Q] [A] Direbrew's Dire Brew - removed PrevQuestId in 2010
+-- Horde version already had this
+UPDATE `quest_template` SET `PrevQuestId`=0 WHERE `id`=12491;
+
+-- Misc.
+UPDATE `creature_template_addon` SET `auras`='43905' WHERE `entry`=23698; -- Drunken Brewfest Reveler
+UPDATE `creature_template` SET `AIName`='' WHERE `entry`=23698; -- Drunken Brewfest Reveler
+UPDATE `creature` SET `spawntimesecs`=450 WHERE `id`=24484; -- Brewfest Reveler had 12 hour respawntime ...
+
+-- Send a mail on quest complete "Brew of the Month Club" - there is no wait time so we won't use RewMailDelaySecs
+-- Alliance quest missed quest texts
+SET @MAIL_A := 209;
+SET @MAIL_H := 210;
+UPDATE `quest_template` SET `RewardMailTemplateId`=0 WHERE `id`=12278; -- old "Brew of the Month Club" quests
+UPDATE `quest_template` SET `RewardMailTemplateId`=0 WHERE `id`=12306; -- old "Brew of the Month Club" quests
+UPDATE `quest_template` SET `RewardMailTemplateId`=@MAIL_A,`OfferRewardText`="Your paperwork looks to be in order. Welcome to the club, $N!$B$BYou can expect to get our mail at the start of every month. If you like what you got, stop by and we can sell you some more. This is the club that keeps on giving.",`RequestItemsText`="Do you have your membership forms filled out?" WHERE `id`=12420;
+UPDATE `quest_template` SET `RewardMailTemplateId`=@MAIL_H WHERE `id`=12421;
+
+-- Ray'ma and Larkin were also finishing quest no longer available within the game.
+DELETE FROM `creature_questender` WHERE `quest` IN (12278,12306); -- old "Brew of the Month Club" quests
+DELETE FROM `creature_questender` WHERE `id`=27489 AND `quest`=12421;
+INSERT INTO `creature_questender` (`id`,`quest`) VALUES (27489,12421);
+
+-- Insert missing Wolpertinger's Tankard
+DELETE FROM `npc_vendor` WHERE `item`=32233;
+INSERT INTO `npc_vendor` (`entry`,`slot`,`item`,`maxcount`,`incrtime`,`ExtendedCost`) VALUES
+(23710,0,32233,0,0,0), -- Belbi Quikswitch
+(27478,0,32233,0,0,0), -- Larkin Thunderbrew
+(24495,0,32233,0,0,0), -- Blix Fixwidget
+(27489,0,32233,0,0,0); -- Ray'ma
diff --git a/sql/updates/world/2014_07_08_06_world_misc.sql b/sql/updates/world/2014_07_08_06_world_misc.sql
new file mode 100644
index 00000000000..dfbf6381dee
--- /dev/null
+++ b/sql/updates/world/2014_07_08_06_world_misc.sql
@@ -0,0 +1,14 @@
+-- Corporal Thund Splithoof SAI
+SET @ENTRY := 7750;
+SET @QUEST := 2701;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,20,0,100,0,@QUEST,0,0,0,41,5000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Corporal Thund Splithoof - On Quest Complete - Forced Despawn"),
+(@ENTRY,0,1,2,19,0,100,0,@QUEST,0,0,0,70,0,0,0,0,0,0,14,44733,141980,0,0,0,0,0,"Corporal Thund Splithoof - On Quest Accept - Respawn Spectral Lockbox (GO)"),
+(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,70,0,0,0,0,0,0,14,44732,141981,0,0,0,0,0,"Corporal Thund Splithoof - On Quest Accept - Respawn Spectral Lockbox Particles (GO)");
+
+UPDATE `conditions` SET `ConditionTypeOrReference`=28 WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=840 AND `SourceEntry`=2 AND `SourceId`=0 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=9 AND `ConditionTarget`=0 AND `ConditionValue1`=2702 AND `ConditionValue2`=0 AND `ConditionValue3`=0;
+
+-- Modifying condition for Gossip on Fallen Hero of the Horde to spawn Corporal Thund Splithoof so condition is met on condition 28 Quest complete instead of 9 quest taken
+-- reason for this change is that this quest is completed as soon as taken and condition taken is not met here as core sees the quest has complete as soon as it is taken by player
diff --git a/sql/updates/world/2014_07_08_07_world_quest_template.sql b/sql/updates/world/2014_07_08_07_world_quest_template.sql
new file mode 100644
index 00000000000..146d8d2d34f
--- /dev/null
+++ b/sql/updates/world/2014_07_08_07_world_quest_template.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `quest_template` SET `RequestItemsText` = 'I was told a visitor from Quel''Thalas was coming. I was expecting a blood elf, to tell you the truth.$b$bWhat news do you bring?' WHERE `id` = 9812;
diff --git a/sql/updates/world/2014_07_08_08_world_quest_template.sql b/sql/updates/world/2014_07_08_08_world_quest_template.sql
new file mode 100644
index 00000000000..1f40994cefd
--- /dev/null
+++ b/sql/updates/world/2014_07_08_08_world_quest_template.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `quest_template` SET `OfferRewardText` = '<Thrall begins to read the letter.>$b$bSo the blood elves finally took care of their little problem. It is no surprise that it took your help as well as that of an entire Forsaken regiment to get the job done.$b$b<The Warchief breaks into laughter.>$b$bI suppose there''s no stopping this. In the end we need them just as much as they need us.' WHERE `id` = 9813;
diff --git a/sql/updates/world/2014_07_08_09_world_misc.sql b/sql/updates/world/2014_07_08_09_world_misc.sql
new file mode 100644
index 00000000000..4600cb80847
--- /dev/null
+++ b/sql/updates/world/2014_07_08_09_world_misc.sql
@@ -0,0 +1,17 @@
+-- Darkweb Victim SAI
+-- To Fix 12037 Search and Rescue
+
+UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` =27909;
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` =27909 and `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(2790900,2790901,2790902) and `source_type`=9;
+
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(27909, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Darkweb Victim - On Spawn - Set Invincibility Hp'),
+(27909, 0, 1, 0, 2, 0, 100, 1, 0, 1, 0, 0, 87, 2790900, 2790901, 2790902, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Darkweb Victim - On 1% HP - Set Random script'),
+(2790900, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 49952, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Darkweb Victim - Script 1 - Cast Summon Kurzel'),
+(2790900, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Darkweb Victim - Script 1 - Die'),
+(2790901, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 49958, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Darkweb Victim - Script 2 - Cast Summon Drakkari Shaman'),
+(2790901, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Darkweb Victim - Script 2 - Die'),
+(2790902, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 49959, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Darkweb Victim - Script 3 - Cast Summon Drakkari Guardian'),
+(2790902, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Darkweb Victim - Script 3 - Die');
diff --git a/sql/updates/world/2014_07_08_10_world_misc.sql b/sql/updates/world/2014_07_08_10_world_misc.sql
new file mode 100644
index 00000000000..5e055a61b15
--- /dev/null
+++ b/sql/updates/world/2014_07_08_10_world_misc.sql
@@ -0,0 +1,34 @@
+--
+DELETE FROM `creature_addon` WHERE `guid` IN(124405,124406);
+INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES
+(124405, 0, 0, 0x10000, 0x1, 0, '27622'),
+(124406, 0, 0, 0x10000, 0x1, 0, '27622');
+
+-- Instructor Hroegar
+DELETE FROM `creature_template_addon` WHERE `entry`=29915;
+INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(29915,0,0,1,0, '56058');
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(-124405,-124406);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(-124406, 0, 0, 0, 1, 0, 100, 0, 5000, 5000, 5000, 5000, 11, 55796, 2, 0, 0, 0, 0, 19, 30056, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) - On Respawn - Cast Get the Key: Vaelens Chains - Left Hand'),
+(-124405, 0, 0, 0, 1, 0, 100, 0, 5000, 5000, 5000, 5000, 11, 54112, 2, 0, 0, 0, 0, 19, 30056, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) - On Respawn - Cast Get the Key: Vaelens Chains - Right Hand');
+
+UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`IN(30056,29915);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(30056,29915);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(30056, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 11, 27622, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Vaelen the Flayed - On Reset - Cast Get the Key: Vaelens Invisibility & See Invisibility');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN(55796,54112);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13, 1, 55796, 0, 0, 31, 0, 3, 30056, 0, 0, 0, 0, '', ''),
+(13, 1, 54112, 0, 0, 31, 0, 3, 30056, 0, 0, 0, 0, '', '');
+
+DELETE FROM `spell_area` WHERE `spell`IN(27105,56057) AND `area` IN(4492,4497);
+INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
+(27105, 4492, 0, 12951, 0, 0, 2, 1, 64, 11), -- Ufrang's Hall: See Vaelen's Invisibility
+(56057, 4497, 0, 12949, 0, 0, 2, 1, 64, 11); -- Savage Ledge: See Instructor Hroegar's Invisibility
+
+DELETE FROM `creature_loot_template` WHERE `entry`=29915 AND `item`=41843;
+INSERT INTO `creature_loot_template` (`entry`, `item`, `ChanceOrQuestChance`, `lootmode`, `groupid`, `mincountOrRef`, `maxcount`) VALUES
+(29915, 41843, -100, 1, 0, 1, 1); -- Key to Vaelen's Chains
diff --git a/sql/updates/world/2014_07_08_11_world_misc.sql b/sql/updates/world/2014_07_08_11_world_misc.sql
new file mode 100644
index 00000000000..cc957b012d2
--- /dev/null
+++ b/sql/updates/world/2014_07_08_11_world_misc.sql
@@ -0,0 +1,53 @@
+-- Eredar Soul eater
+
+SET @SOULEATER := 20879;
+SET @SOULEATERHC := 21595;
+SET @GUID := 52355; -- TC Unused GUID search tool
+SET @POOL := 368;
+
+UPDATE `creature_template` SET `spell1` = 0, `spell2` = 0, `spell3` = 0, `AIName` = 'SmartAI' WHERE `entry` = @SOULEATER;
+UPDATE `creature_template` SET `spell1` = 0, `spell2` = 0, `spell3` = 0 WHERE `entry` = @SOULEATERHC;
+
+-- Eredar Soul Eater SAI // not sure how to implement behaviour for spell:36778(SOUL STEAL)
+DELETE FROM `smart_scripts` WHERE (`entryorguid`=@SOULEATER AND `source_type`=0);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(@SOULEATER, 0, 0, 0, 1, 0, 100, 0, 0, 0, 0, 0, 11, 36784, 0, 0, 0, 0, 0, 17, 0, 100, 0, 0, 0, 0, 0, "Eredar Soul Eater - At Range - Cast Entropic Aura"),
+(@SOULEATER, 0, 1, 0, 0, 0, 100, 0, 6000, 12000, 30000, 30000, 11, 36786, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Eredar Soul Eater - In Combat - Cast Soul Chill");
+
+-- Creature location for Eredar Soul Eater
+DELETE FROM `linked_respawn` WHERE `guid` = 86053;
+DELETE FROM `creature` WHERE `guid` IN (@GUID, @GUID+1) OR id = @SOULEATER;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
+(@GUID, @SOULEATER, 552, 3, 1, 19950, 0, 280.787, 145.315, 22.22593, 0.005122, 7200, 0, 0, 39123, 12620, 0, 0, 0, 8),
+(@GUID+1, @SOULEATER, 552, 3, 1, 19950, 0, 307.477, 150.934, 24.85841, 3.959065, 7200, 0, 0, 39123, 12620, 0, 0, 0, 8);
+
+
+-- Creature Loot for Eredar Soul Eater
+DELETE FROM `creature_loot_template` WHERE `entry`=@SOULEATER;
+INSERT INTO `creature_loot_template` VALUES
+(@SOULEATER, 30809, 70, 1, 0, 1, 1),
+(@SOULEATER, 21877, 39, 1, 0, 2, 3),
+(@SOULEATER, 32902, 11, 1, 0, 1, 2),
+(@SOULEATER, 27854, 7, 1, 0, 1, 1),
+(@SOULEATER, 29740, 5, 1, 0, 1, 1),
+(@SOULEATER, 27860, 1.8, 1, 0, 1, 1);
+
+-- Creature Pickpocketing Loot for Eredar Soul Eater
+DELETE FROM `pickpocketing_loot_template` WHERE (`entry`=@SOULEATER);
+INSERT INTO `pickpocketing_loot_template` VALUES
+(@SOULEATER, 29570, 67, 1, 0, 1, 1),
+(@SOULEATER, 29569, 42, 1, 0, 1, 1),
+(@SOULEATER, 27855, 25, 1, 0, 1, 1),
+(@SOULEATER, 22829, 17, 1, 0, 1, 1),
+(@SOULEATER, 27854, 8, 1, 0, 1, 1);
+
+-- Pool_template for Eredar Soul Eater Spawns
+DELETE FROM `pool_template` WHERE entry = 1161;
+INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
+(@POOL, 2, 'Eredar Soul-Eater');
+
+-- Pool_creature for Eredar Soul Eater Spawns
+DELETE FROM `pool_creature` WHERE guid IN (@GUID, @GUID+1);
+INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALUES
+(@GUID, @POOL, 0, 'Eredar Soul-Eater - Spawn 1'),
+(@GUID+1, @POOL, 0, 'Eredar Soul-Eater - Spawn 2');
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
index 5555f2a824c..41539b9cda6 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
@@ -41,14 +41,14 @@ BattlefieldWG::~BattlefieldWG()
bool BattlefieldWG::SetupBattlefield()
{
- InitStalker(BATTLEFIELD_WG_NPC_STALKER, WintergraspStalkerPos[0], WintergraspStalkerPos[1], WintergraspStalkerPos[2], WintergraspStalkerPos[3]);
-
m_TypeId = BATTLEFIELD_WG; // See enum BattlefieldTypes
m_BattleId = BATTLEFIELD_BATTLEID_WG;
m_ZoneId = BATTLEFIELD_WG_ZONEID;
m_MapId = BATTLEFIELD_WG_MAPID;
m_Map = sMapMgr->FindMap(m_MapId, 0);
+ InitStalker(BATTLEFIELD_WG_NPC_STALKER, WintergraspStalkerPos[0], WintergraspStalkerPos[1], WintergraspStalkerPos[2], WintergraspStalkerPos[3]);
+
m_MaxPlayer = sWorld->getIntConfig(CONFIG_WINTERGRASP_PLR_MAX);
m_IsEnabled = sWorld->getBoolConfig(CONFIG_WINTERGRASP_ENABLE);
m_MinPlayer = sWorld->getIntConfig(CONFIG_WINTERGRASP_PLR_MIN);
diff --git a/src/server/game/Battlegrounds/BattlegroundScore.h b/src/server/game/Battlegrounds/BattlegroundScore.h
index ae65721b516..95d1db2c337 100644
--- a/src/server/game/Battlegrounds/BattlegroundScore.h
+++ b/src/server/game/Battlegrounds/BattlegroundScore.h
@@ -87,7 +87,7 @@ struct BattlegroundScore
}
}
- virtual void AppendToPacket(WorldPacket& data)
+ virtual void AppendToPacket(WorldPacket& data)
{
data << uint64(PlayerGuid);
@@ -108,7 +108,7 @@ struct BattlegroundScore
uint64 PlayerGuid;
- // Default score, present in every type
+ // Default score, present in every type
uint32 KillingBlows;
uint32 Deaths;
uint32 HonorableKills;
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 10b7c25bb1f..03180b35cb5 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -326,8 +326,8 @@ enum MapFlags
enum AbilytyLearnType
{
- ABILITY_LEARNED_ON_GET_PROFESSION_SKILL = 1,
- ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL = 2
+ SKILL_LINE_ABILITY_LEARNED_ON_SKILL_VALUE = 1, // Spell state will update depending on skill value
+ SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN = 2 // Spell will be learned/removed together with entire skill
};
enum ItemEnchantmentType
@@ -356,7 +356,7 @@ enum SkillRaceClassInfoFlags
SKILL_FLAG_UNLEARNABLE = 0x20, // Skill can be unlearned
SKILL_FLAG_INCLUDE_IN_SORT = 0x80, // Spells belonging to a skill with this flag will additionally compare skill ids when sorting spellbook in client
SKILL_FLAG_NOT_TRAINABLE = 0x100,
- SKILL_FLAG_MONO_VALUE = 0x400 // Skill always has value 1
+ SKILL_FLAG_MONO_VALUE = 0x400 // Skill always has value 1 - clientside display flag, real value can be different
};
enum SpellCategoryFlags
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp
index 92d00b20645..e960422cbbc 100644
--- a/src/server/game/DataStores/DBCStores.cpp
+++ b/src/server/game/DataStores/DBCStores.cpp
@@ -450,7 +450,7 @@ void LoadDBCStores(const std::string& dataPath)
if (spellInfo->spellLevel)
continue;
- if (skillLine->learnOnGetSkill != ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL)
+ if (skillLine->AutolearnType != SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN)
continue;
sPetFamilySpellsStore[i].insert(spellInfo->Id);
diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h
index 2da166fb049..946cbc42f25 100644
--- a/src/server/game/DataStores/DBCStructure.h
+++ b/src/server/game/DataStores/DBCStructure.h
@@ -1535,23 +1535,6 @@ struct ScalingStatValuesEntry
// uint32 displayOrder; // 19 m_sortIndex
//};
-//struct SkillRaceClassInfoEntry{
-// uint32 id; // 0 m_ID
-// uint32 skillId; // 1 m_skillID
-// uint32 raceMask; // 2 m_raceMask
-// uint32 classMask; // 3 m_classMask
-// uint32 flags; // 4 m_flags
-// uint32 reqLevel; // 5 m_minLevel
-// uint32 skillTierId; // 6 m_skillTierID
-// uint32 skillCostID; // 7 m_skillCostIndex
-//};
-
-//struct SkillTiersEntry{
-// uint32 id; // 0 m_ID
-// uint32 skillValue[16]; // 1-17 m_cost
-// uint32 maxSkillValue[16]; // 18-32 m_valueMax
-//};
-
struct SkillLineEntry
{
uint32 id; // 0 m_ID
@@ -1578,7 +1561,7 @@ struct SkillLineAbilityEntry
//uint32 classmaskNot; // 6 m_excludeClass
uint32 req_skill_value; // 7 m_minSkillLineRank
uint32 forward_spellid; // 8 m_supercededBySpell
- uint32 learnOnGetSkill; // 9 m_acquireMethod
+ uint32 AutolearnType; // 9 m_acquireMethod
uint32 max_value; // 10 m_trivialSkillLineRankHigh
uint32 min_value; // 11 m_trivialSkillLineRankLow
//uint32 characterPoints[2]; // 12-13 m_characterPoints[2]
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index ae08a4251a5..23e40382fa2 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -958,6 +958,17 @@ void GameObject::SaveRespawnTime()
GetMap()->SaveGORespawnTime(m_DBTableGuid, m_respawnTime);
}
+bool GameObject::IsNeverVisible() const
+{
+ if (WorldObject::IsNeverVisible())
+ return true;
+
+ if (GetGoType() == GAMEOBJECT_TYPE_SPELL_FOCUS && GetGOInfo()->spellFocus.serverOnly == 1)
+ return true;
+
+ return false;
+}
+
bool GameObject::IsAlwaysVisibleFor(WorldObject const* seer) const
{
if (WorldObject::IsAlwaysVisibleFor(seer))
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 8f70fc0e907..549de28bb12 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -778,6 +778,8 @@ class GameObject : public WorldObject, public GridObject<GameObject>, public Map
void TriggeringLinkedGameObject(uint32 trapEntry, Unit* target);
+ bool IsNeverVisible() const override;
+
bool IsAlwaysVisibleFor(WorldObject const* seer) const;
bool IsInvisibleDueToDespawn() const;
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 4ff0153dea8..08d984e0790 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -2603,13 +2603,39 @@ void WorldObject::MovePosition(Position &pos, float dist, float angle)
pos.SetOrientation(GetOrientation());
}
+// @todo: replace with WorldObject::UpdateAllowedPositionZ
+float NormalizeZforCollision(WorldObject* obj, float x, float y, float z)
+{
+ float ground = obj->GetMap()->GetHeight(obj->GetPhaseMask(), x, y, MAX_HEIGHT, true);
+ float floor = obj->GetMap()->GetHeight(obj->GetPhaseMask(), x, y, z + 2.0f, true);
+ float helper = fabs(ground - z) <= fabs(floor - z) ? ground : floor;
+ if (z > helper) // must be above ground
+ {
+ if (Unit* unit = obj->ToUnit())
+ {
+ if (unit->CanFly())
+ return z;
+ }
+ LiquidData liquid_status;
+ ZLiquidStatus res = obj->GetMap()->getLiquidStatus(x, y, z, MAP_ALL_LIQUIDS, &liquid_status);
+ if (res && liquid_status.level > helper) // water must be above ground
+ {
+ if (liquid_status.level > z) // z is underwater
+ return z;
+ else
+ return fabs(liquid_status.level - z) <= fabs(helper - z) ? liquid_status.level : helper;
+ }
+ }
+ return helper;
+}
+
void WorldObject::MovePositionToFirstCollision(Position &pos, float dist, float angle)
{
angle += GetOrientation();
- float destx, desty, destz, ground, floor;
- pos.m_positionZ += 2.0f;
+ float destx, desty, destz;
destx = pos.m_positionX + dist * std::cos(angle);
desty = pos.m_positionY + dist * std::sin(angle);
+ destz = NormalizeZforCollision(this, destx, desty, pos.GetPositionZ());
// Prevent invalid coordinates here, position is unchanged
if (!Trinity::IsValidMapCoord(destx, desty))
@@ -2618,11 +2644,7 @@ void WorldObject::MovePositionToFirstCollision(Position &pos, float dist, float
return;
}
- ground = GetMap()->GetHeight(GetPhaseMask(), destx, desty, MAX_HEIGHT, true);
- floor = GetMap()->GetHeight(GetPhaseMask(), destx, desty, pos.m_positionZ, true);
- destz = fabs(ground - pos.m_positionZ) <= fabs(floor - pos.m_positionZ) ? ground : floor;
-
- bool col = VMAP::VMapFactory::createOrGetVMapManager()->getObjectHitPos(GetMapId(), pos.m_positionX, pos.m_positionY, pos.m_positionZ+0.5f, destx, desty, destz+0.5f, destx, desty, destz, -0.5f);
+ bool col = VMAP::VMapFactory::createOrGetVMapManager()->getObjectHitPos(GetMapId(), pos.m_positionX, pos.m_positionY, pos.m_positionZ + 0.5f, destx, desty, destz + 0.5f, destx, desty, destz, -0.5f);
// collision occured
if (col)
@@ -2634,7 +2656,7 @@ void WorldObject::MovePositionToFirstCollision(Position &pos, float dist, float
}
// check dynamic collision
- col = GetMap()->getObjectHitPos(GetPhaseMask(), pos.m_positionX, pos.m_positionY, pos.m_positionZ+0.5f, destx, desty, destz+0.5f, destx, desty, destz, -0.5f);
+ col = GetMap()->getObjectHitPos(GetPhaseMask(), pos.m_positionX, pos.m_positionY, pos.m_positionZ + 0.5f, destx, desty, destz + 0.5f, destx, desty, destz, -0.5f);
// Collided with a gameobject
if (col)
@@ -2644,18 +2666,16 @@ void WorldObject::MovePositionToFirstCollision(Position &pos, float dist, float
dist = sqrt((pos.m_positionX - destx)*(pos.m_positionX - destx) + (pos.m_positionY - desty)*(pos.m_positionY - desty));
}
- float step = dist/10.0f;
+ float step = dist / 10.0f;
for (uint8 j = 0; j < 10; ++j)
{
// do not allow too big z changes
- if (fabs(pos.m_positionZ - destz) > 6)
+ if (fabs(pos.m_positionZ - destz) > 6.0f)
{
destx -= step * std::cos(angle);
desty -= step * std::sin(angle);
- ground = GetMap()->GetHeight(GetPhaseMask(), destx, desty, MAX_HEIGHT, true);
- floor = GetMap()->GetHeight(GetPhaseMask(), destx, desty, pos.m_positionZ, true);
- destz = fabs(ground - pos.m_positionZ) <= fabs(floor - pos.m_positionZ) ? ground : floor;
+ destz = NormalizeZforCollision(this, destx, desty, pos.GetPositionZ());
}
// we have correct destz now
else
@@ -2667,7 +2687,7 @@ void WorldObject::MovePositionToFirstCollision(Position &pos, float dist, float
Trinity::NormalizeMapCoord(pos.m_positionX);
Trinity::NormalizeMapCoord(pos.m_positionY);
- UpdateAllowedPositionZ(pos.m_positionX, pos.m_positionY, pos.m_positionZ);
+ pos.m_positionZ = NormalizeZforCollision(this, destx, desty, pos.GetPositionZ());
pos.SetOrientation(GetOrientation());
}
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 8653106a865..5c96e607355 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -1134,7 +1134,8 @@ bool Player::Create(uint32 guidlow, CharacterCreateInfo* createInfo)
}
// original spells
- learnDefaultSpells();
+ LearnDefaultSkills();
+ LearnCustomSpells();
// original action bar
for (PlayerCreateInfoActions::const_iterator action_itr = info->action.begin(); action_itr != info->action.end(); ++action_itr)
@@ -3827,34 +3828,14 @@ bool Player::addSpell(uint32 spellId, bool active, bool learning, bool dependent
if (!pSkill)
continue;
- if (!Has310Flyer(false) && pSkill->id == SKILL_MOUNTS)
+ if (_spell_idx->second->AutolearnType == SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN && !HasSkill(pSkill->id))
+ LearnDefaultSkill(pSkill->id, 0);
+
+ if (pSkill->id == SKILL_MOUNTS && !Has310Flyer(false))
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
if (spellInfo->Effects[i].ApplyAuraName == SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED &&
spellInfo->Effects[i].CalcValue() == 310)
SetHas310Flyer(true);
-
- if (HasSkill(pSkill->id))
- continue;
-
- if (_spell_idx->second->learnOnGetSkill == ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL ||
- // lockpicking/runeforging special case, not have ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL
- ((pSkill->id == SKILL_LOCKPICKING || pSkill->id == SKILL_RUNEFORGING) && _spell_idx->second->max_value == 0))
- {
- switch (GetSkillRangeType(pSkill, _spell_idx->second->racemask != 0))
- {
- case SKILL_RANGE_LANGUAGE:
- SetSkill(pSkill->id, GetSkillStep(pSkill->id), 300, 300);
- break;
- case SKILL_RANGE_LEVEL:
- SetSkill(pSkill->id, GetSkillStep(pSkill->id), 1, GetMaxSkillValueForLevel());
- break;
- case SKILL_RANGE_MONO:
- SetSkill(pSkill->id, GetSkillStep(pSkill->id), 1, 1);
- break;
- default:
- break;
- }
- }
}
}
@@ -4079,33 +4060,27 @@ void Player::removeSpell(uint32 spell_id, bool disabled, bool learn_low_rank)
// not ranked skills
SkillLineAbilityMapBounds bounds = sSpellMgr->GetSkillLineAbilityMapBounds(spell_id);
- for (SkillLineAbilityMap::const_iterator _spell_idx = bounds.first; _spell_idx != bounds.second; ++_spell_idx)
+ // most likely will never be used, haven't heard of cases where players unlearn a mount
+ if (Has310Flyer(false) && spellInfo)
{
- SkillLineEntry const* pSkill = sSkillLineStore.LookupEntry(_spell_idx->second->skillId);
- if (!pSkill)
- continue;
-
- if ((_spell_idx->second->learnOnGetSkill == ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL &&
- pSkill->categoryId != SKILL_CATEGORY_CLASS) ||// not unlearn class skills (spellbook/talent pages)
- // lockpicking/runeforging special case, not have ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL
- ((pSkill->id == SKILL_LOCKPICKING || pSkill->id == SKILL_RUNEFORGING) && _spell_idx->second->max_value == 0))
+ for (SkillLineAbilityMap::const_iterator _spell_idx = bounds.first; _spell_idx != bounds.second; ++_spell_idx)
{
- // not reset skills for professions and racial abilities
- if ((pSkill->categoryId == SKILL_CATEGORY_SECONDARY || pSkill->categoryId == SKILL_CATEGORY_PROFESSION) &&
- (IsProfessionSkill(pSkill->id) || _spell_idx->second->racemask != 0))
+ SkillLineEntry const* pSkill = sSkillLineStore.LookupEntry(_spell_idx->second->skillId);
+ if (!pSkill)
continue;
- SetSkill(pSkill->id, GetSkillStep(pSkill->id), 0, 0);
- }
-
- // most likely will never be used, haven't heard of cases where players unlearn a mount
- if (Has310Flyer(false) && _spell_idx->second->skillId == SKILL_MOUNTS)
- {
- if (spellInfo)
+ if (_spell_idx->second->skillId == SKILL_MOUNTS)
+ {
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
+ {
if (spellInfo->Effects[i].ApplyAuraName == SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED &&
spellInfo->Effects[i].CalcValue() == 310)
+ {
Has310Flyer(true, spell_id); // with true as first argument its also used to set/remove the flag
+ break;
+ }
+ }
+ }
}
}
}
@@ -6080,9 +6055,6 @@ bool Player::UpdateSkill(uint32 skill_id, uint32 step)
if (!skill_id)
return false;
- if (skill_id == SKILL_FIST_WEAPONS)
- skill_id = SKILL_UNARMED;
-
SkillStatusMap::iterator itr = mSkillStatus.find(skill_id);
if (itr == mSkillStatus.end() || itr->second.uState == SKILL_DELETED)
return false;
@@ -6097,13 +6069,14 @@ bool Player::UpdateSkill(uint32 skill_id, uint32 step)
if (value < max)
{
- uint32 new_value = value+step;
+ uint32 new_value = value + step;
if (new_value > max)
new_value = max;
SetUInt32Value(valueIndex, MAKE_SKILL_VALUE(new_value, max));
if (itr->second.uState != SKILL_NEW)
itr->second.uState = SKILL_CHANGED;
+
UpdateSkillEnchantments(skill_id, value, new_value);
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL, skill_id);
return true;
@@ -6277,9 +6250,25 @@ void Player::UpdateWeaponSkill(WeaponAttackType attType)
Item* tmpitem = GetWeaponForAttack(attType, true);
if (!tmpitem && attType == BASE_ATTACK)
+ {
+ // Keep unarmed & fist weapon skills in sync
UpdateSkill(SKILL_UNARMED, weapon_skill_gain);
+ UpdateSkill(SKILL_FIST_WEAPONS, weapon_skill_gain);
+ }
else if (tmpitem && tmpitem->GetTemplate()->SubClass != ITEM_SUBCLASS_WEAPON_FISHING_POLE)
- UpdateSkill(tmpitem->GetSkill(), weapon_skill_gain);
+ {
+ switch (tmpitem->GetTemplate()->SubClass)
+ {
+ case ITEM_SUBCLASS_WEAPON_FISHING_POLE:
+ break;
+ case ITEM_SUBCLASS_WEAPON_FIST:
+ UpdateSkill(SKILL_UNARMED, weapon_skill_gain);
+ // no break intended
+ default:
+ UpdateSkill(tmpitem->GetSkill(), weapon_skill_gain);
+ break;
+ }
+ }
UpdateAllCritPercentages();
}
@@ -6352,11 +6341,11 @@ void Player::UpdateSkillsForLevel()
continue;
uint32 pskill = itr->first;
- SkillLineEntry const* pSkill = sSkillLineStore.LookupEntry(pskill);
- if (!pSkill)
+ SkillRaceClassInfoEntry const* rcEntry = GetSkillRaceClassInfo(pskill, getRace(), getClass());
+ if (!rcEntry)
continue;
- if (GetSkillRangeType(pSkill, false) != SKILL_RANGE_LEVEL)
+ if (GetSkillRangeType(rcEntry) != SKILL_RANGE_LEVEL)
continue;
uint32 valueIndex = PLAYER_SKILL_VALUE_INDEX(itr->second.pos);
@@ -17704,7 +17693,8 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
// after spell and quest load
InitTalentForLevel();
- learnDefaultSpells();
+ LearnDefaultSkills();
+ LearnCustomSpells();
// must be before inventory (some items required reputation check)
m_reputationMgr->LoadFromDB(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_REPUTATION));
@@ -22071,6 +22061,27 @@ void Player::AddSpellCooldown(uint32 spellid, uint32 itemid, time_t end_time)
m_spellCooldowns[spellid] = sc;
}
+void Player::ModifySpellCooldown(uint32 spellId, int32 cooldown)
+{
+ SpellCooldowns::iterator itr = m_spellCooldowns.find(spellId);
+ if (itr == m_spellCooldowns.end())
+ return;
+
+ time_t now = time(NULL);
+ if (itr->second.end + (cooldown / IN_MILLISECONDS) > now)
+ itr->second.end += (cooldown / IN_MILLISECONDS);
+ else
+ m_spellCooldowns.erase(itr);
+
+ WorldPacket data(SMSG_MODIFY_COOLDOWN, 4 + 8 + 4);
+ data << uint32(spellId); // Spell ID
+ data << uint64(GetGUID()); // Player GUID
+ data << int32(cooldown); // Cooldown mod in milliseconds
+ GetSession()->SendPacket(&data);
+
+ TC_LOG_DEBUG("misc", "ModifySpellCooldown:: Player: %s (GUID: %u) Spell: %u cooldown: %u", GetName().c_str(), GetGUIDLow(), spellId, GetSpellCooldownDelay(spellId));
+}
+
void Player::SendCooldownEvent(SpellInfo const* spellInfo, uint32 itemId /*= 0*/, Spell* spell /*= NULL*/, bool setCooldown /*= true*/)
{
// start cooldowns at server side, if any
@@ -23078,15 +23089,19 @@ void Player::resetSpells(bool myClassOnly)
for (PlayerSpellMap::const_iterator iter = smap.begin(); iter != smap.end(); ++iter)
removeSpell(iter->first, false, false); // only iter->first can be accessed, object by iter->second can be deleted already
- learnDefaultSpells();
+ LearnDefaultSkills();
+ LearnCustomSpells();
learnQuestRewardedSpells();
}
-void Player::learnDefaultSpells()
+void Player::LearnCustomSpells()
{
+ if (!sWorld->getBoolConfig(CONFIG_START_ALL_SPELLS))
+ return;
+
// learn default race/class spells
PlayerInfo const* info = sObjectMgr->GetPlayerInfo(getRace(), getClass());
- for (PlayerCreateInfoSpells::const_iterator itr = info->spell.begin(); itr != info->spell.end(); ++itr)
+ for (PlayerCreateInfoSpells::const_iterator itr = info->customSpells.begin(); itr != info->customSpells.end(); ++itr)
{
uint32 tspell = *itr;
TC_LOG_DEBUG("entities.player.loading", "PLAYER (Class: %u Race: %u): Adding initial spell, id = %u", uint32(getClass()), uint32(getRace()), tspell);
@@ -23097,6 +23112,68 @@ void Player::learnDefaultSpells()
}
}
+void Player::LearnDefaultSkills()
+{
+ // learn default race/class skills
+ PlayerInfo const* info = sObjectMgr->GetPlayerInfo(getRace(), getClass());
+ for (PlayerCreateInfoSkills::const_iterator itr = info->skills.begin(); itr != info->skills.end(); ++itr)
+ {
+ uint32 skillId = itr->SkillId;
+ if (HasSkill(skillId))
+ continue;
+
+ LearnDefaultSkill(skillId, itr->Rank);
+ }
+}
+
+void Player::LearnDefaultSkill(uint32 skillId, uint16 rank)
+{
+ SkillRaceClassInfoEntry const* rcInfo = GetSkillRaceClassInfo(skillId, getRace(), getClass());
+ if (!rcInfo)
+ return;
+
+ TC_LOG_DEBUG("entities.player.loading", "PLAYER (Class: %u Race: %u): Adding initial skill, id = %u", uint32(getClass()), uint32(getRace()), skillId);
+ switch (GetSkillRangeType(rcInfo))
+ {
+ case SKILL_RANGE_LANGUAGE:
+ SetSkill(skillId, 0, 300, 300);
+ break;
+ case SKILL_RANGE_LEVEL:
+ {
+ uint16 skillValue = 1;
+ uint16 maxValue = GetMaxSkillValueForLevel();
+ if (rcInfo->Flags & SKILL_FLAG_ALWAYS_MAX_VALUE)
+ skillValue = maxValue;
+ else if (getClass() == CLASS_DEATH_KNIGHT)
+ skillValue = std::min(std::max<uint16>({ 1, uint16((getLevel() - 1) * 5) }), maxValue);
+
+ SetSkill(skillId, 0, skillValue, maxValue);
+ break;
+ }
+ case SKILL_RANGE_MONO:
+ SetSkill(skillId, 0, 1, 1);
+ break;
+ case SKILL_RANGE_RANK:
+ {
+ if (!rank)
+ break;
+
+ SkillTiersEntry const* tier = sSkillTiersStore.LookupEntry(rcInfo->SkillTier);
+ uint16 maxValue = tier->MaxSkill[std::max<int32>(rank - 1, 0)];
+ uint16 skillValue = 1;
+ if (rcInfo->Flags & SKILL_FLAG_ALWAYS_MAX_VALUE)
+ skillValue = maxValue;
+ else if (getClass() == CLASS_DEATH_KNIGHT)
+ skillValue = std::min(std::max<uint16>({ uint16(1), uint16((getLevel() - 1) * 5) }), maxValue);
+
+ SetSkill(skillId, rank, skillValue, maxValue);
+ break;
+ }
+ default:
+ break;
+ }
+}
+
void Player::learnQuestRewardedSpells(Quest const* quest)
{
int32 spell_id = quest->GetRewSpellCast();
@@ -23194,29 +23271,35 @@ void Player::learnSkillRewardedSpells(uint32 skill_id, uint32 skill_value)
{
uint32 raceMask = getRaceMask();
uint32 classMask = getClassMask();
- for (uint32 j=0; j<sSkillLineAbilityStore.GetNumRows(); ++j)
+ for (uint32 j = 0; j < sSkillLineAbilityStore.GetNumRows(); ++j)
{
SkillLineAbilityEntry const* pAbility = sSkillLineAbilityStore.LookupEntry(j);
- if (!pAbility || pAbility->skillId != skill_id || pAbility->learnOnGetSkill != ABILITY_LEARNED_ON_GET_PROFESSION_SKILL)
+ if (!pAbility || pAbility->skillId != skill_id)
continue;
+
+ SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(pAbility->spellId);
+ if (!spellInfo)
+ continue;
+
+ if (pAbility->AutolearnType != SKILL_LINE_ABILITY_LEARNED_ON_SKILL_VALUE && pAbility->AutolearnType != SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN)
+ continue;
+
// Check race if set
if (pAbility->racemask && !(pAbility->racemask & raceMask))
continue;
+
// Check class if set
if (pAbility->classmask && !(pAbility->classmask & classMask))
continue;
- if (sSpellMgr->GetSpellInfo(pAbility->spellId))
- {
- // need unlearn spell
- if (skill_value < pAbility->req_skill_value)
- removeSpell(pAbility->spellId);
- // need learn
- else if (!IsInWorld())
- addSpell(pAbility->spellId, true, true, true, false);
- else
- learnSpell(pAbility->spellId, true);
- }
+ // need unlearn spell
+ if (skill_value < pAbility->req_skill_value && pAbility->AutolearnType == SKILL_LINE_ABILITY_LEARNED_ON_SKILL_VALUE)
+ removeSpell(pAbility->spellId);
+ // need learn
+ else if (!IsInWorld())
+ addSpell(pAbility->spellId, true, true, true, false);
+ else
+ learnSpell(pAbility->spellId, true);
}
}
@@ -23944,7 +24027,7 @@ bool Player::IsAtRecruitAFriendDistance(WorldObject const* pOther) const
return pOther->GetDistance(player) <= sWorld->getFloatConfig(CONFIG_MAX_RECRUIT_A_FRIEND_DISTANCE);
}
-uint32 Player::GetBaseWeaponSkillValue (WeaponAttackType attType) const
+uint32 Player::GetBaseWeaponSkillValue(WeaponAttackType attType) const
{
Item* item = GetWeaponForAttack(attType, true);
@@ -23952,8 +24035,8 @@ uint32 Player::GetBaseWeaponSkillValue (WeaponAttackType attType) const
if (attType != BASE_ATTACK && !item)
return 0;
- // weapon skill or (unarmed for base attack and for fist weapons)
- uint32 skill = (item && item->GetSkill() != SKILL_FIST_WEAPONS) ? item->GetSkill() : uint32(SKILL_UNARMED);
+ // weapon skill or (unarmed for base attack)
+ uint32 skill = item ? item->GetSkill() : uint32(SKILL_UNARMED);
return GetBaseSkillValue(skill);
}
@@ -24907,15 +24990,15 @@ void Player::_LoadSkills(PreparedQueryResult result)
uint16 value = fields[1].GetUInt16();
uint16 max = fields[2].GetUInt16();
- SkillLineEntry const* pSkill = sSkillLineStore.LookupEntry(skill);
- if (!pSkill)
+ SkillRaceClassInfoEntry const* rcEntry = GetSkillRaceClassInfo(skill, getRace(), getClass());
+ if (!rcEntry)
{
TC_LOG_ERROR("entities.player", "Character %u has skill %u that does not exist.", GetGUIDLow(), skill);
continue;
}
// set fixed skill ranges
- switch (GetSkillRangeType(pSkill, false))
+ switch (GetSkillRangeType(rcEntry))
{
case SKILL_RANGE_LANGUAGE: // 300..300
value = max = 300;
@@ -24923,9 +25006,12 @@ void Player::_LoadSkills(PreparedQueryResult result)
case SKILL_RANGE_MONO: // 1..1, grey monolite bar
value = max = 1;
break;
+ case SKILL_RANGE_LEVEL:
+ max = GetMaxSkillValueForLevel();
default:
break;
}
+
if (value == 0)
{
TC_LOG_ERROR("entities.player", "Character %u has skill %u with value 0. Will be deleted.", GetGUIDLow(), skill);
@@ -24940,11 +25026,20 @@ void Player::_LoadSkills(PreparedQueryResult result)
continue;
}
- // enable unlearn button for primary professions only
- if (pSkill->categoryId == SKILL_CATEGORY_PROFESSION)
- SetUInt32Value(PLAYER_SKILL_INDEX(count), MAKE_PAIR32(skill, 1));
- else
- SetUInt32Value(PLAYER_SKILL_INDEX(count), MAKE_PAIR32(skill, 0));
+ uint16 skillStep = 0;
+ if (SkillTiersEntry const* skillTier = sSkillTiersStore.LookupEntry(rcEntry->SkillTier))
+ {
+ for (uint32 i = 0; i < MAX_SKILL_STEP; ++i)
+ {
+ if (skillTier->MaxSkill[skillStep] == max)
+ {
+ skillStep = i + 1;
+ break;
+ }
+ }
+ }
+
+ SetUInt32Value(PLAYER_SKILL_INDEX(count), MAKE_PAIR32(skill, skillStep));
SetUInt32Value(PLAYER_SKILL_VALUE_INDEX(count), MAKE_SKILL_VALUE(value, max));
SetUInt32Value(PLAYER_SKILL_BONUS_INDEX(count), 0);
@@ -24970,34 +25065,6 @@ void Player::_LoadSkills(PreparedQueryResult result)
SetUInt32Value(PLAYER_SKILL_VALUE_INDEX(count), 0);
SetUInt32Value(PLAYER_SKILL_BONUS_INDEX(count), 0);
}
-
- // special settings
- if (getClass() == CLASS_DEATH_KNIGHT)
- {
- uint8 base_level = std::min(getLevel(), uint8(sWorld->getIntConfig(CONFIG_START_HEROIC_PLAYER_LEVEL)));
- if (base_level < 1)
- base_level = 1;
- uint16 base_skill = (base_level-1)*5; // 270 at starting level 55
- if (base_skill < 1)
- base_skill = 1; // skill mast be known and then > 0 in any case
-
- if (GetPureSkillValue(SKILL_FIRST_AID) < base_skill)
- SetSkill(SKILL_FIRST_AID, 4 /*artisan*/, base_skill, 300);
- if (GetPureSkillValue(SKILL_AXES) < base_skill)
- SetSkill(SKILL_AXES, 0, base_skill, base_skill);
- if (GetPureSkillValue(SKILL_DEFENSE) < base_skill)
- SetSkill(SKILL_DEFENSE, 0, base_skill, base_skill);
- if (GetPureSkillValue(SKILL_POLEARMS) < base_skill)
- SetSkill(SKILL_POLEARMS, 0, base_skill, base_skill);
- if (GetPureSkillValue(SKILL_SWORDS) < base_skill)
- SetSkill(SKILL_SWORDS, 0, base_skill, base_skill);
- if (GetPureSkillValue(SKILL_2H_AXES) < base_skill)
- SetSkill(SKILL_2H_AXES, 0, base_skill, base_skill);
- if (GetPureSkillValue(SKILL_2H_SWORDS) < base_skill)
- SetSkill(SKILL_2H_SWORDS, 0, base_skill, base_skill);
- if (GetPureSkillValue(SKILL_UNARMED) < base_skill)
- SetSkill(SKILL_UNARMED, 0, base_skill, base_skill);
- }
}
uint32 Player::GetPhaseMaskForSpawn() const
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index fdebbde0ae2..a146b5d672a 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -249,6 +249,14 @@ struct PlayerCreateInfoAction
typedef std::list<PlayerCreateInfoAction> PlayerCreateInfoActions;
+struct PlayerCreateInfoSkill
+{
+ uint16 SkillId;
+ uint16 Rank;
+};
+
+typedef std::list<PlayerCreateInfoSkill> PlayerCreateInfoSkills;
+
struct PlayerInfo
{
// existence checked by displayId != 0
@@ -263,8 +271,9 @@ struct PlayerInfo
uint16 displayId_m;
uint16 displayId_f;
PlayerCreateInfoItems item;
- PlayerCreateInfoSpells spell;
+ PlayerCreateInfoSpells customSpells;
PlayerCreateInfoActions action;
+ PlayerCreateInfoSkills skills;
PlayerLevelInfo* levelInfo; //[level-1] 0..MaxPlayerLevel-1
};
@@ -1573,7 +1582,9 @@ class Player : public Unit, public GridObject<Player>
void learnSpell(uint32 spell_id, bool dependent);
void removeSpell(uint32 spell_id, bool disabled = false, bool learn_low_rank = true);
void resetSpells(bool myClassOnly = false);
- void learnDefaultSpells();
+ void LearnCustomSpells();
+ void LearnDefaultSkills();
+ void LearnDefaultSkill(uint32 skillId, uint16 rank);
void learnQuestRewardedSpells();
void learnQuestRewardedSpells(Quest const* quest);
void learnSpellHighRank(uint32 spellid);
@@ -1636,6 +1647,7 @@ class Player : public Unit, public GridObject<Player>
uint32 GetSpellCooldownDelay(uint32 spell_id) const;
void AddSpellAndCategoryCooldowns(SpellInfo const* spellInfo, uint32 itemId, Spell* spell = NULL, bool infinityCooldown = false);
void AddSpellCooldown(uint32 spell_id, uint32 itemid, time_t end_time);
+ void ModifySpellCooldown(uint32 spellId, int32 cooldown);
void SendCooldownEvent(SpellInfo const* spellInfo, uint32 itemId = 0, Spell* spell = NULL, bool setCooldown = true);
void ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs);
void RemoveSpellCooldown(uint32 spell_id, bool update = false);
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 5eb48160e8a..d6479550ad4 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -2834,12 +2834,10 @@ uint32 Unit::GetWeaponSkillValue (WeaponAttackType attType, Unit const* target)
if (IsInFeralForm())
return GetMaxSkillValueForLevel(); // always maximized SKILL_FERAL_COMBAT in fact
- // weapon skill or (unarmed for base attack and fist weapons)
- uint32 skill;
- if (item && item->GetSkill() != SKILL_FIST_WEAPONS)
+ // weapon skill or (unarmed for base attack)
+ uint32 skill = SKILL_UNARMED;
+ if (item)
skill = item->GetSkill();
- else
- skill = SKILL_UNARMED;
// in PvP use full skill instead current skill value
value = (target && target->IsControlledByPlayer())
@@ -6891,31 +6889,6 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
}
break;
}
- // Item - Shaman T10 Elemental 2P Bonus
- case 70811:
- {
- // Lightning Bolt & Chain Lightning
- if (procSpell->SpellFamilyFlags[0] & 0x3)
- {
- if (ToPlayer()->HasSpellCooldown(16166))
- {
- uint32 newCooldownDelay = ToPlayer()->GetSpellCooldownDelay(16166);
- if (newCooldownDelay < 3)
- newCooldownDelay = 0;
- else
- newCooldownDelay -= 2;
- ToPlayer()->AddSpellCooldown(16166, 0, uint32(time(NULL) + newCooldownDelay));
-
- WorldPacket data(SMSG_MODIFY_COOLDOWN, 4+8+4);
- data << uint32(16166); // Spell ID
- data << uint64(GetGUID()); // Player GUID
- data << int32(-2000); // Cooldown mod in milliseconds
- ToPlayer()->GetSession()->SendPacket(&data);
- return true;
- }
- }
- return false;
- }
// Item - Shaman T10 Elemental 4P Bonus
case 70817:
{
@@ -7714,7 +7687,8 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg
? ToPlayer()->GetItemByGuid(triggeredByAura->GetBase()->GetCastItemGUID()) : NULL;
// Try handle unknown trigger spells
- if (sSpellMgr->GetSpellInfo(trigger_spell_id) == NULL)
+ // triggered spells exists only in serverside spell_dbc
+ /// @todo: reverify and move these spells to spellscripts
{
switch (auraSpellInfo->SpellFamilyName)
{
@@ -11157,6 +11131,9 @@ bool Unit::IsImmunedToSpellEffect(SpellInfo const* spellInfo, uint32 index) cons
if (!spellInfo || !spellInfo->Effects[index].IsEffect())
return false;
+ if (spellInfo->Attributes & SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY)
+ return false;
+
// If m_immuneToEffect type contain this effect type, IMMUNE effect.
uint32 effect = spellInfo->Effects[index].Effect;
SpellImmuneList const& effectList = m_spellImmune[IMMUNITY_EFFECT];
@@ -15288,7 +15265,7 @@ void Unit::Kill(Unit* victim, bool durabilityLoss)
group->SendLooter(creature, NULL);
// Update round robin looter only if the creature had loot
- if (!creature->loot.empty())
+ if (!loot->empty())
group->UpdateLooterGuid(creature);
}
}
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 9eb7d5ec1bf..278460e73dd 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -3322,17 +3322,91 @@ void ObjectMgr::LoadPlayerInfo()
}
}
+
+ // Load playercreate skills
+ TC_LOG_INFO("server.loading", "Loading Player Create Skill Data...");
+ {
+ uint32 oldMSTime = getMSTime();
+
+ QueryResult result = WorldDatabase.PQuery("SELECT raceMask, classMask, skill, rank FROM playercreateinfo_skills");
+
+ if (!result)
+ {
+ TC_LOG_ERROR("server.loading", ">> Loaded 0 player create skills. DB table `playercreateinfo_skills` is empty.");
+ }
+ else
+ {
+ uint32 count = 0;
+
+ do
+ {
+ Field* fields = result->Fetch();
+ uint32 raceMask = fields[0].GetUInt32();
+ uint32 classMask = fields[1].GetUInt32();
+ PlayerCreateInfoSkill skill;
+ skill.SkillId = fields[2].GetUInt16();
+ skill.Rank = fields[3].GetUInt16();
+
+ if (skill.Rank >= MAX_SKILL_STEP)
+ {
+ TC_LOG_ERROR("sql.sql", "Skill rank value %hu set for skill %hu raceMask %u classMask %u is too high, max allowed value is %d", skill.Rank, skill.SkillId, raceMask, classMask, MAX_SKILL_STEP);
+ continue;
+ }
+
+ if (raceMask != 0 && !(raceMask & RACEMASK_ALL_PLAYABLE))
+ {
+ TC_LOG_ERROR("sql.sql", "Wrong race mask %u in `playercreateinfo_skills` table, ignoring.", raceMask);
+ continue;
+ }
+
+ if (classMask != 0 && !(classMask & CLASSMASK_ALL_PLAYABLE))
+ {
+ TC_LOG_ERROR("sql.sql", "Wrong class mask %u in `playercreateinfo_skills` table, ignoring.", classMask);
+ continue;
+ }
+
+ if (!sSkillLineStore.LookupEntry(skill.SkillId))
+ {
+ TC_LOG_ERROR("sql.sql", "Wrong skill id %u in `playercreateinfo_skills` table, ignoring.", skill.SkillId);
+ continue;
+ }
+
+ for (uint32 raceIndex = RACE_HUMAN; raceIndex < MAX_RACES; ++raceIndex)
+ {
+ if (raceMask == 0 || ((1 << (raceIndex - 1)) & raceMask))
+ {
+ for (uint32 classIndex = CLASS_WARRIOR; classIndex < MAX_CLASSES; ++classIndex)
+ {
+ if (classMask == 0 || ((1 << (classIndex - 1)) & classMask))
+ {
+ if (!GetSkillRaceClassInfo(skill.SkillId, raceIndex, classIndex))
+ continue;
+
+ if (PlayerInfo* info = _playerInfo[raceIndex][classIndex])
+ {
+ info->skills.push_back(skill);
+ ++count;
+ }
+ }
+ }
+ }
+ }
+ } while (result->NextRow());
+
+ TC_LOG_INFO("server.loading", ">> Loaded %u player create skills in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
+ }
+ }
+
// Load playercreate spells
TC_LOG_INFO("server.loading", "Loading Player Create Spell Data...");
{
uint32 oldMSTime = getMSTime();
- std::string tableName = sWorld->getBoolConfig(CONFIG_START_ALL_SPELLS) ? "playercreateinfo_spell_custom" : "playercreateinfo_spell";
- QueryResult result = WorldDatabase.PQuery("SELECT racemask, classmask, Spell FROM %s", tableName.c_str());
+ QueryResult result = WorldDatabase.PQuery("SELECT racemask, classmask, Spell FROM playercreateinfo_spell_custom");
if (!result)
{
- TC_LOG_ERROR("server.loading", ">> Loaded 0 player create spells. DB table `%s` is empty.", tableName.c_str());
+ TC_LOG_ERROR("server.loading", ">> Loaded 0 player create spells. DB table `playercreateinfo_spell_custom` is empty.");
}
else
{
@@ -3347,13 +3421,13 @@ void ObjectMgr::LoadPlayerInfo()
if (raceMask != 0 && !(raceMask & RACEMASK_ALL_PLAYABLE))
{
- TC_LOG_ERROR("sql.sql", "Wrong race mask %u in `%s` table, ignoring.", raceMask, tableName.c_str());
+ TC_LOG_ERROR("sql.sql", "Wrong race mask %u in `playercreateinfo_spell_custom` table, ignoring.", raceMask);
continue;
}
if (classMask != 0 && !(classMask & CLASSMASK_ALL_PLAYABLE))
{
- TC_LOG_ERROR("sql.sql", "Wrong class mask %u in `%s` table, ignoring.", classMask, tableName.c_str());
+ TC_LOG_ERROR("sql.sql", "Wrong class mask %u in `playercreateinfo_spell_custom` table, ignoring.", classMask);
continue;
}
@@ -3367,7 +3441,7 @@ void ObjectMgr::LoadPlayerInfo()
{
if (PlayerInfo* info = _playerInfo[raceIndex][classIndex])
{
- info->spell.push_back(spellId);
+ info->customSpells.push_back(spellId);
++count;
}
// We need something better here, the check is not accounting for spells used by multiple races/classes but not all of them.
@@ -3381,7 +3455,7 @@ void ObjectMgr::LoadPlayerInfo()
}
while (result->NextRow());
- TC_LOG_INFO("server.loading", ">> Loaded %u player create spells in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
+ TC_LOG_INFO("server.loading", ">> Loaded %u custom player create spells in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
}
}
@@ -7808,36 +7882,27 @@ int32 ObjectMgr::GetBaseReputationOf(FactionEntry const* factionEntry, uint8 rac
return 0;
}
-SkillRangeType GetSkillRangeType(SkillLineEntry const* pSkill, bool racial)
+SkillRangeType GetSkillRangeType(SkillRaceClassInfoEntry const* rcEntry)
{
- switch (pSkill->categoryId)
+ SkillLineEntry const* skill = sSkillLineStore.LookupEntry(rcEntry->SkillId);
+ if (!skill)
+ return SKILL_RANGE_NONE;
+
+ if (sSkillTiersStore.LookupEntry(rcEntry->SkillTier))
+ return SKILL_RANGE_RANK;
+
+ if (rcEntry->SkillId == SKILL_RUNEFORGING)
+ return SKILL_RANGE_MONO;
+
+ switch (skill->categoryId)
{
- case SKILL_CATEGORY_LANGUAGES: return SKILL_RANGE_LANGUAGE;
- case SKILL_CATEGORY_WEAPON:
- if (pSkill->id != SKILL_FIST_WEAPONS)
- return SKILL_RANGE_LEVEL;
- else
- return SKILL_RANGE_MONO;
case SKILL_CATEGORY_ARMOR:
- case SKILL_CATEGORY_CLASS:
- if (pSkill->id != SKILL_LOCKPICKING)
- return SKILL_RANGE_MONO;
- else
- return SKILL_RANGE_LEVEL;
- case SKILL_CATEGORY_SECONDARY:
- case SKILL_CATEGORY_PROFESSION:
- // not set skills for professions and racial abilities
- if (IsProfessionSkill(pSkill->id))
- return SKILL_RANGE_RANK;
- else if (racial)
- return SKILL_RANGE_NONE;
- else
- return SKILL_RANGE_MONO;
- default:
- case SKILL_CATEGORY_ATTRIBUTES: //not found in dbc
- case SKILL_CATEGORY_GENERIC: //only GENERIC(DND)
- return SKILL_RANGE_NONE;
+ return SKILL_RANGE_MONO;
+ case SKILL_CATEGORY_LANGUAGES:
+ return SKILL_RANGE_LANGUAGE;
}
+
+ return SKILL_RANGE_LEVEL;
}
void ObjectMgr::LoadGameTele()
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index e5e55b847d3..3f8013bbd78 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -643,7 +643,7 @@ enum SkillRangeType
SKILL_RANGE_NONE // 0..0 always
};
-SkillRangeType GetSkillRangeType(SkillLineEntry const* pSkill, bool racial);
+SkillRangeType GetSkillRangeType(SkillRaceClassInfoEntry const* rcEntry);
#define MAX_PLAYER_NAME 12 // max allowed by client name length
#define MAX_INTERNAL_PLAYER_NAME 15 // max server internal player name length (> MAX_PLAYER_NAME for support declined names)
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index 01e3af149dc..a49e69ec311 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -119,6 +119,9 @@ bool Map::ExistVMap(uint32 mapid, int gx, int gy)
void Map::LoadMMap(int gx, int gy)
{
+ if (!MMAP::MMapFactory::IsPathfindingEnabled(GetId()))
+ return;
+
bool mmapLoadResult = MMAP::MMapFactory::createOrGetMMapManager()->loadMap((sWorld->GetDataPath() + "mmaps").c_str(), GetId(), gx, gy);
if (mmapLoadResult)
@@ -129,6 +132,8 @@ void Map::LoadMMap(int gx, int gy)
void Map::LoadVMap(int gx, int gy)
{
+ if (!VMAP::VMapFactory::createOrGetVMapManager()->isMapLoadingEnabled())
+ return;
// x and y are swapped !!
int vmapLoadResult = VMAP::VMapFactory::createOrGetVMapManager()->loadMap((sWorld->GetDataPath()+ "vmaps").c_str(), GetId(), gx, gy);
switch (vmapLoadResult)
diff --git a/src/server/game/Movement/PathGenerator.cpp b/src/server/game/Movement/PathGenerator.cpp
index d6912bac7c8..3140fc23296 100644
--- a/src/server/game/Movement/PathGenerator.cpp
+++ b/src/server/game/Movement/PathGenerator.cpp
@@ -882,3 +882,41 @@ float PathGenerator::Dist3DSqr(G3D::Vector3 const& p1, G3D::Vector3 const& p2) c
{
return (p1 - p2).squaredLength();
}
+
+void PathGenerator::ReducePathLenghtByDist(float dist)
+{
+ if (GetPathType() == PATHFIND_BLANK)
+ {
+ TC_LOG_ERROR("maps", "PathGenerator::ReducePathLenghtByDist called before path was built");
+ return;
+ }
+
+ if (_pathPoints.size() < 2) // path building failure
+ return;
+
+ uint32 i = _pathPoints.size();
+ G3D::Vector3 nextVec = _pathPoints[--i];
+ while (i > 0)
+ {
+ G3D::Vector3 currVec = _pathPoints[--i];
+ G3D::Vector3 diffVec = (nextVec - currVec);
+ float len = diffVec.length();
+ if (len > dist)
+ {
+ float step = dist / len;
+ // same as nextVec
+ _pathPoints[i + 1] -= diffVec * step;
+ _pathPoints.resize(i + 2);
+ break;
+ }
+ else if (i == 0) // at second point
+ {
+ _pathPoints[1] = _pathPoints[0];
+ _pathPoints.resize(2);
+ break;
+ }
+
+ dist -= len;
+ nextVec = currVec; // we're going backwards
+ }
+}
diff --git a/src/server/game/Movement/PathGenerator.h b/src/server/game/Movement/PathGenerator.h
index 6e0d72ec8da..a9a13c37251 100644
--- a/src/server/game/Movement/PathGenerator.h
+++ b/src/server/game/Movement/PathGenerator.h
@@ -72,6 +72,8 @@ class PathGenerator
PathType GetPathType() const { return _type; }
+ void ReducePathLenghtByDist(float dist); // path must be already built
+
private:
dtPolyRef _pathPolyRefs[MAX_PATH_LENGTH]; // array of detour polygon references
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 9086a304e1c..d223425a027 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -1305,6 +1305,7 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffIndex effIndex, SpellImplici
void Spell::SelectImplicitTargetDestTargets(SpellEffIndex effIndex, SpellImplicitTargetInfo const& targetType)
{
+ ASSERT(m_targets.GetObjectTarget() && "Spell::SelectImplicitTargetDestTargets - no explicit object target available!");
WorldObject* target = m_targets.GetObjectTarget();
SpellDestination dest(*target);
@@ -2265,7 +2266,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
m_spellAura = NULL; // Set aura to null for every target-make sure that pointer is not used for unit without aura applied
//Spells with this flag cannot trigger if effect is cast on self
- bool canEffectTrigger = !(m_spellInfo->AttributesEx3 & SPELL_ATTR3_CANT_TRIGGER_PROC) && unitTarget->CanProc() && CanExecuteTriggersOnHit(mask);
+ bool canEffectTrigger = !(m_spellInfo->AttributesEx3 & SPELL_ATTR3_CANT_TRIGGER_PROC) && unitTarget->CanProc() && (CanExecuteTriggersOnHit(mask) || missInfo == SPELL_MISS_IMMUNE || missInfo == SPELL_MISS_IMMUNE2);
Unit* spellHitTarget = NULL;
if (missInfo == SPELL_MISS_NONE) // In case spell hit target, do all effect on that target
@@ -2311,15 +2312,8 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
if (m_damage > 0)
positive = false;
else if (!m_healing)
- {
- for (uint8 i = 0; i< MAX_SPELL_EFFECTS; ++i)
- // If at least one effect negative spell is negative hit
- if (mask & (1<<i) && !m_spellInfo->IsPositiveEffect(i))
- {
- positive = false;
- break;
- }
- }
+ positive = m_spellInfo->IsPositive();
+
switch (m_spellInfo->DmgClass)
{
case SPELL_DAMAGE_CLASS_MAGIC:
@@ -2397,7 +2391,6 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
caster->ToPlayer()->CastItemCombatSpell(unitTarget, m_attackType, procVictim, procEx);
}
-
m_damage = damageInfo.damage;
caster->DealSpellDamage(&damageInfo, true);
@@ -2538,9 +2531,14 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
}
}
+ uint8 aura_effmask = 0;
+ for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
+ if (effectMask & (1 << i) && m_spellInfo->Effects[i].IsUnitOwnedAuraEffect())
+ aura_effmask |= 1 << i;
+
// Get Data Needed for Diminishing Returns, some effects may have multiple auras, so this must be done on spell hit, not aura add
m_diminishGroup = GetDiminishingReturnsGroupForSpell(m_spellInfo, m_triggeredByAuraSpell);
- if (m_diminishGroup)
+ if (m_diminishGroup && aura_effmask)
{
m_diminishLevel = unit->GetDiminishing(m_diminishGroup);
DiminishingReturnsType type = GetDiminishingReturnsGroupType(m_diminishGroup);
@@ -2551,11 +2549,6 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
unit->IncrDiminishing(m_diminishGroup);
}
- uint8 aura_effmask = 0;
- for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
- if (effectMask & (1 << i) && m_spellInfo->Effects[i].IsUnitOwnedAuraEffect())
- aura_effmask |= 1 << i;
-
if (aura_effmask)
{
// Select rank for aura with level requirements only in specific cases
@@ -5051,15 +5044,24 @@ SpellCastResult Spell::CheckCast(bool strict)
if (!target)
return SPELL_FAILED_DONT_REPORT;
- //target->GetContactPoint(m_caster, pos.m_positionX, pos.m_positionY, pos.m_positionZ);
- Position pos = target->GetFirstCollisionPosition(CONTACT_DISTANCE, target->GetRelativeAngle(m_caster));
+ float objSize = target->GetObjectSize();
+ float range = m_spellInfo->GetMaxRange(true, m_caster, this) * 1.5f + objSize; // can't be overly strict
- m_preGeneratedPath.SetPathLengthLimit(m_spellInfo->GetMaxRange(true) * 1.5f);
- bool result = m_preGeneratedPath.CalculatePath(pos.m_positionX, pos.m_positionY, pos.m_positionZ + target->GetObjectSize(), false, true);
+ m_preGeneratedPath.SetPathLengthLimit(range);
+ // first try with raycast, if it fails fall back to normal path
+ bool result = m_preGeneratedPath.CalculatePath(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ() + target->GetObjectSize(), false, true);
if (m_preGeneratedPath.GetPathType() & PATHFIND_SHORT)
return SPELL_FAILED_OUT_OF_RANGE;
else if (!result || m_preGeneratedPath.GetPathType() & PATHFIND_NOPATH)
- return SPELL_FAILED_NOPATH;
+ {
+ result = m_preGeneratedPath.CalculatePath(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ() + target->GetObjectSize(), false, false);
+ if (m_preGeneratedPath.GetPathType() & PATHFIND_SHORT)
+ return SPELL_FAILED_OUT_OF_RANGE;
+ else if (!result || m_preGeneratedPath.GetPathType() & PATHFIND_NOPATH)
+ return SPELL_FAILED_NOPATH;
+ }
+
+ m_preGeneratedPath.ReducePathLenghtByDist(objSize); // move back
}
break;
}
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 606851bf8f1..c3ca10905fd 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -654,14 +654,6 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
}
break;
}
- case SPELLFAMILY_MAGE:
- {
- // Deep Freeze should deal damage to permanently stun-immune targets.
- if (m_spellInfo->Id == 71757)
- if (unitTarget->GetTypeId() != TYPEID_UNIT || !(unitTarget->IsImmunedToSpellEffect(sSpellMgr->GetSpellInfo(44572), 0)))
- return;
- break;
- }
}
if (m_originalCaster && damage > 0 && apply_direct_bonus)
@@ -874,7 +866,10 @@ void Spell::EffectTriggerSpell(SpellEffIndex effIndex)
if (spellInfo->GetExplicitTargetMask() & TARGET_FLAG_DEST_LOCATION)
targets.SetDst(m_targets);
- targets.SetUnitTarget(m_caster);
+ if (Unit* target = m_targets.GetUnitTarget())
+ targets.SetUnitTarget(target);
+ else
+ targets.SetUnitTarget(m_caster);
}
CustomSpellValues values;
@@ -4594,7 +4589,7 @@ void Spell::EffectLeap(SpellEffIndex /*effIndex*/)
return;
Position pos = destTarget->GetPosition();
- pos = unitTarget->GetFirstCollisionPosition(unitTarget->GetDistance(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ() + 2.0f), 0.0f);
+ pos = unitTarget->GetFirstCollisionPosition(unitTarget->GetDistance(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ()), 0.0f);
unitTarget->NearTeleportTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), unitTarget == m_caster);
}
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 4d97dc97e5b..8034002a470 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -967,7 +967,7 @@ bool SpellInfo::IsAbilityLearnedWithProfession() const
for (SkillLineAbilityMap::const_iterator _spell_idx = bounds.first; _spell_idx != bounds.second; ++_spell_idx)
{
SkillLineAbilityEntry const* pAbility = _spell_idx->second;
- if (!pAbility || pAbility->learnOnGetSkill != ABILITY_LEARNED_ON_GET_PROFESSION_SKILL)
+ if (!pAbility || pAbility->AutolearnType != SKILL_LINE_ABILITY_LEARNED_ON_SKILL_VALUE)
continue;
if (pAbility->req_skill_value > 0)
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 6f56c0ebc40..77450dc859a 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -2382,7 +2382,7 @@ void SpellMgr::LoadPetLevelupSpellMap()
if (skillLine->skillId != creatureFamily->skillLine[j])
continue;
- if (skillLine->learnOnGetSkill != ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL)
+ if (skillLine->AutolearnType != SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN)
continue;
SpellInfo const* spell = GetSpellInfo(skillLine->spellId);
diff --git a/src/server/scripts/Commands/cs_learn.cpp b/src/server/scripts/Commands/cs_learn.cpp
index 12721c61936..03d10149ae5 100644
--- a/src/server/scripts/Commands/cs_learn.cpp
+++ b/src/server/scripts/Commands/cs_learn.cpp
@@ -332,7 +332,8 @@ public:
if (!handler->extractPlayerTarget((char*)args, &target))
return false;
- target->learnDefaultSpells();
+ target->LearnDefaultSkills();
+ target->LearnCustomSpells();
target->learnQuestRewardedSpells();
handler->PSendSysMessage(LANG_COMMAND_LEARN_ALL_DEFAULT_AND_QUEST, handler->GetNameLink(target).c_str());
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
index e0050420a08..1f8ccfbd5d8 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
@@ -159,7 +159,7 @@ class instance_magisters_terrace : public InstanceMapScript
switch (type)
{
case DATA_DELRISSA:
- if (type == IN_PROGRESS)
+ if (state == IN_PROGRESS)
DelrissaDeathCount = 0;
break;
default:
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
index 787bf7584e5..f18c0aac8bb 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
@@ -1,6 +1,5 @@
/*
* Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2006-2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -16,15 +15,9 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* ScriptData
-SDName: Boss_Arcanist_Doan
-SD%Complete: 100
-SDComment:
-SDCategory: Scarlet Monastery
-EndScriptData */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "scarlet_monastery.h"
enum Yells
{
@@ -34,103 +27,100 @@ enum Yells
enum Spells
{
- SPELL_POLYMORPH = 13323,
- SPELL_AOESILENCE = 8988,
- SPELL_ARCANEEXPLOSION = 9433,
- SPELL_FIREAOE = 9435,
- SPELL_ARCANEBUBBLE = 9438
+ SPELL_SILENCE = 8988,
+ SPELL_ARCANE_EXPLOSION = 9433,
+ SPELL_DETONATION = 9435,
+ SPELL_ARCANE_BUBBLE = 9438,
+ SPELL_POLYMORPH = 13323
};
-class boss_arcanist_doan : public CreatureScript
+enum Events
{
-public:
- boss_arcanist_doan() : CreatureScript("boss_arcanist_doan") { }
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new boss_arcanist_doanAI(creature);
- }
-
- struct boss_arcanist_doanAI : public ScriptedAI
- {
- boss_arcanist_doanAI(Creature* creature) : ScriptedAI(creature) { }
-
- uint32 Polymorph_Timer;
- uint32 AoESilence_Timer;
- uint32 ArcaneExplosion_Timer;
- bool bCanDetonate;
- bool bShielded;
-
- void Reset() override
- {
- Polymorph_Timer = 20000;
- AoESilence_Timer = 15000;
- ArcaneExplosion_Timer = 3000;
- bCanDetonate = false;
- bShielded = false;
- }
+ EVENT_SILENCE = 1,
+ EVENT_ARCANE_EXPLOSION = 2,
+ EVENT_ARCANE_BUBBLE = 3,
+ EVENT_POLYMORPH = 4
+};
- void EnterCombat(Unit* /*who*/) override
- {
- Talk(SAY_AGGRO);
- }
+class boss_arcanist_doan : public CreatureScript
+{
+ public:
+ boss_arcanist_doan() : CreatureScript("boss_arcanist_doan") { }
- void UpdateAI(uint32 diff) override
+ struct boss_arcanist_doanAI : public BossAI
{
- if (!UpdateVictim())
- return;
-
- if (bShielded && bCanDetonate)
+ boss_arcanist_doanAI(Creature* creature) : BossAI(creature, DATA_ARCANIST_DOAN)
{
- DoCast(me, SPELL_FIREAOE);
- bCanDetonate = false;
+ _healthAbove50Pct = true;
}
- if (me->HasAura(SPELL_ARCANEBUBBLE))
- return;
-
- //If we are <50% hp cast Arcane Bubble
- if (!bShielded && !HealthAbovePct(50))
+ void Reset() override
{
- //wait if we already casting
- if (me->IsNonMeleeSpellCast(false))
- return;
-
- Talk(SAY_SPECIALAE);
- DoCast(me, SPELL_ARCANEBUBBLE);
-
- bCanDetonate = true;
- bShielded = true;
+ _Reset();
+ _healthAbove50Pct = true;
}
- if (Polymorph_Timer <= diff)
+ void EnterCombat(Unit* /*who*/) override
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
- DoCast(target, SPELL_POLYMORPH);
+ _EnterCombat();
+ Talk(SAY_AGGRO);
- Polymorph_Timer = 20000;
+ events.ScheduleEvent(EVENT_SILENCE, 15 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_ARCANE_EXPLOSION, 3 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_POLYMORPH, 30 * IN_MILLISECONDS);
}
- else Polymorph_Timer -= diff;
- //AoESilence_Timer
- if (AoESilence_Timer <= diff)
+ void UpdateAI(uint32 diff) override
{
- DoCastVictim(SPELL_AOESILENCE);
- AoESilence_Timer = urand(15000, 20000);
- }
- else AoESilence_Timer -= diff;
+ if (!UpdateVictim())
+ return;
- //ArcaneExplosion_Timer
- if (ArcaneExplosion_Timer <= diff)
- {
- DoCastVictim(SPELL_ARCANEEXPLOSION);
- ArcaneExplosion_Timer = 8000;
+ events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_SILENCE:
+ DoCastVictim(SPELL_SILENCE);
+ events.ScheduleEvent(EVENT_SILENCE, urand(15, 20) * IN_MILLISECONDS);
+ break;
+ case EVENT_ARCANE_EXPLOSION:
+ DoCastVictim(SPELL_ARCANE_EXPLOSION);
+ events.ScheduleEvent(EVENT_SILENCE, 8 * IN_MILLISECONDS);
+ break;
+ case EVENT_POLYMORPH:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 30.0f, true))
+ DoCast(target, SPELL_POLYMORPH);
+ events.ScheduleEvent(EVENT_POLYMORPH, 20 * IN_MILLISECONDS);
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (_healthAbove50Pct && HealthBelowPct(50))
+ {
+ _healthAbove50Pct = false;
+ Talk(SAY_SPECIALAE);
+ DoCast(me, SPELL_ARCANE_BUBBLE);
+ DoCastAOE(SPELL_DETONATION);
+ }
+
+ DoMeleeAttackIfReady();
}
- else ArcaneExplosion_Timer -= diff;
- DoMeleeAttackIfReady();
+ private:
+ bool _healthAbove50Pct;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new boss_arcanist_doanAI(creature);
}
- };
};
void AddSC_boss_arcanist_doan()
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h b/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h
index cd5a74ee478..bdac6b089fd 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h
@@ -30,7 +30,8 @@ enum DataTypes
DATA_HORSEMAN_EVENT = 5,
GAMEOBJECT_PUMPKIN_SHRINE = 6,
- DATA_VORREL = 7
+ DATA_VORREL = 7,
+ DATA_ARCANIST_DOAN = 8
};
#endif // SCARLET_M_
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index a17d7dce2ea..30f9e914037 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -383,6 +383,45 @@ class spell_item_echoes_of_light : public SpellScriptLoader
}
};
+// 7434 - Fate Rune of Unsurpassed Vigor
+enum FateRuneOfUnsurpassedVigor
+{
+ SPELL_UNSURPASSED_VIGOR = 25733
+};
+
+class spell_item_fate_rune_of_unsurpassed_vigor : public SpellScriptLoader
+{
+ public:
+ spell_item_fate_rune_of_unsurpassed_vigor() : SpellScriptLoader("spell_item_fate_rune_of_unsurpassed_vigor") { }
+
+ class spell_item_fate_rune_of_unsurpassed_vigor_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_item_fate_rune_of_unsurpassed_vigor_AuraScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_UNSURPASSED_VIGOR))
+ return false;
+ return true;
+ }
+
+ void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
+ {
+ GetTarget()->CastSpell(GetTarget(), SPELL_UNSURPASSED_VIGOR, true);
+ }
+
+ void Register() override
+ {
+ OnEffectProc += AuraEffectProcFn(spell_item_fate_rune_of_unsurpassed_vigor_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_item_fate_rune_of_unsurpassed_vigor_AuraScript();
+ }
+};
+
// http://www.wowhead.com/item=47499 Flask of the North
// 67019 Flask of the North
enum FlaskOfTheNorthSpells
@@ -2607,6 +2646,7 @@ void AddSC_item_spell_scripts()
new spell_item_desperate_defense();
new spell_item_deviate_fish();
new spell_item_echoes_of_light();
+ new spell_item_fate_rune_of_unsurpassed_vigor();
new spell_item_flask_of_the_north();
new spell_item_gnomish_death_ray();
new spell_item_make_a_wish();
diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp
index 61ff79c505e..a1c2d0e1d1c 100644
--- a/src/server/scripts/Spells/spell_shaman.cpp
+++ b/src/server/scripts/Spells/spell_shaman.cpp
@@ -34,6 +34,7 @@ enum ShamanSpells
SPELL_SHAMAN_BIND_SIGHT = 6277,
SPELL_SHAMAN_CLEANSING_TOTEM_EFFECT = 52025,
SPELL_SHAMAN_EARTH_SHIELD_HEAL = 379,
+ SPELL_SHAMAN_ELEMENTAL_MASTERY = 16166,
SPELL_SHAMAN_EXHAUSTION = 57723,
SPELL_SHAMAN_FIRE_NOVA_R1 = 1535,
SPELL_SHAMAN_FIRE_NOVA_TRIGGERED_R1 = 8349,
@@ -767,6 +768,42 @@ class spell_sha_item_mana_surge : public SpellScriptLoader
}
};
+// 70811 - Item - Shaman T10 Elemental 2P Bonus
+class spell_sha_item_t10_elemental_2p_bonus : public SpellScriptLoader
+{
+ public:
+ spell_sha_item_t10_elemental_2p_bonus() : SpellScriptLoader("spell_sha_item_t10_elemental_2p_bonus") { }
+
+ class spell_sha_item_t10_elemental_2p_bonus_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_sha_item_t10_elemental_2p_bonus_AuraScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ELEMENTAL_MASTERY))
+ return false;
+ return true;
+ }
+
+ void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
+ {
+ PreventDefaultAction();
+ if (Player* target = GetTarget()->ToPlayer())
+ target->ModifySpellCooldown(SPELL_SHAMAN_ELEMENTAL_MASTERY, -aurEff->GetAmount());
+ }
+
+ void Register() override
+ {
+ OnEffectProc += AuraEffectProcFn(spell_sha_item_t10_elemental_2p_bonus_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_sha_item_t10_elemental_2p_bonus_AuraScript();
+ }
+};
+
// 60103 - Lava Lash
class spell_sha_lava_lash : public SpellScriptLoader
{
@@ -989,6 +1026,7 @@ void AddSC_shaman_spell_scripts()
new spell_sha_item_lightning_shield();
new spell_sha_item_lightning_shield_trigger();
new spell_sha_item_mana_surge();
+ new spell_sha_item_t10_elemental_2p_bonus();
new spell_sha_lava_lash();
new spell_sha_mana_spring_totem();
new spell_sha_mana_tide_totem();
diff --git a/src/tools/vmap4_extractor/model.cpp b/src/tools/vmap4_extractor/model.cpp
index 825a2697c16..c527ec32ddb 100644
--- a/src/tools/vmap4_extractor/model.cpp
+++ b/src/tools/vmap4_extractor/model.cpp
@@ -96,8 +96,19 @@ bool Model::ConvertToVMAPModel(const char * outfilename)
wsize = sizeof(uint32) + sizeof(unsigned short) * nIndexes;
fwrite(&wsize, sizeof(int), 1, output);
fwrite(&nIndexes, sizeof(uint32), 1, output);
- if (nIndexes >0)
+ if (nIndexes > 0)
+ {
+ for (uint32 i = 0; i < nIndexes; ++i)
+ {
+ if ((i % 3) - 1 == 0 && i + 1 < nIndexes)
+ {
+ uint16 tmp = indices[i];
+ indices[i] = indices[i + 1];
+ indices[i + 1] = tmp;
+ }
+ }
fwrite(indices, sizeof(unsigned short), nIndexes, output);
+ }
fwrite("VERT", 4, 1, output);
wsize = sizeof(int) + sizeof(float) * 3 * nVertices;
@@ -105,8 +116,12 @@ bool Model::ConvertToVMAPModel(const char * outfilename)
fwrite(&nVertices, sizeof(int), 1, output);
if (nVertices >0)
{
- for(uint32 vpos=0; vpos <nVertices; ++vpos)
- std::swap(vertices[vpos].y, vertices[vpos].z);
+ for (uint32 vpos = 0; vpos < nVertices; ++vpos)
+ {
+ float tmp = vertices[vpos].y;
+ vertices[vpos].y = -vertices[vpos].z;
+ vertices[vpos].z = tmp;
+ }
fwrite(vertices, sizeof(float)*3, nVertices, output);
}