aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.md50
-rw-r--r--README.md2
-rw-r--r--sql/updates/world/2014_09_05_02_world_sai.sql50
-rw-r--r--sql/updates/world/2014_09_05_03_world_sai.sql17
-rw-r--r--sql/updates/world/2014_09_05_04_world_trinity_string.sql5
-rw-r--r--sql/updates/world/2014_09_05_05_world_trinity_string.sql11
-rw-r--r--sql/updates/world/2014_09_05_06_world_onyxia.sql2
-rw-r--r--sql/updates/world/2014_09_05_07_world_sai.sql129
-rw-r--r--sql/updates/world/2014_09_06_00_world_creature_template.sql4
-rw-r--r--sql/updates/world/2014_09_06_01_world_creature_template.sql1
-rw-r--r--sql/updates/world/2014_09_06_02_world_trinity_string.sql14
-rw-r--r--sql/updates/world/2014_09_06_03_world_gameobject_template.sql1642
-rw-r--r--sql/updates/world/2014_09_06_04_world_creature_model_info.sql1725
-rw-r--r--sql/updates/world/2014_09_06_05_world_creature_template.sql2
-rw-r--r--sql/updates/world/2014_09_06_06_world_locales_gameobject.sql51
-rw-r--r--sql/updates/world/2014_09_06_07_world_creature_equip_template.sql158
-rw-r--r--sql/updates/world/2014_09_06_08_world_creature_equip_template.sql2
-rw-r--r--sql/updates/world/2014_09_06_09_world_sai.sql85
-rw-r--r--sql/updates/world/2014_09_06_10_world_spell_script_names.sql4
-rw-r--r--sql/updates/world/2014_09_07_00_world_sai.sql40
-rw-r--r--sql/updates/world/2014_09_07_01_world_sai.sql5
-rw-r--r--sql/updates/world/2014_09_07_02_world_npc_factions_335.sql249
-rw-r--r--sql/updates/world/2014_09_07_03_world_npc_misc.sql3193
-rw-r--r--sql/updates/world/2014_09_07_04_world_npc_classes.sql15
-rw-r--r--sql/updates/world/2014_09_07_05_world_sai.sql128
-rw-r--r--sql/updates/world/2014_09_07_06_world_sai.sql6
-rw-r--r--src/server/game/Entities/Player/Player.cpp58
-rw-r--r--src/server/game/Handlers/SpellHandler.cpp20
-rw-r--r--src/server/game/Instances/InstanceScript.cpp136
-rw-r--r--src/server/game/Instances/InstanceScript.h42
-rw-r--r--src/server/game/Miscellaneous/Language.h34
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp10
-rw-r--r--src/server/game/Spells/Spell.cpp2
-rw-r--r--src/server/game/Tickets/TicketMgr.cpp4
-rw-r--r--src/server/game/Tickets/TicketMgr.h2
-rw-r--r--src/server/game/World/World.cpp1
-rw-r--r--src/server/game/World/World.h1
-rw-r--r--src/server/scripts/Commands/cs_ban.cpp4
-rw-r--r--src/server/scripts/Commands/cs_instance.cpp27
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp57
-rw-r--r--src/server/scripts/Commands/cs_server.cpp15
-rw-r--r--src/server/scripts/Commands/cs_ticket.cpp13
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp213
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/baradin_hold.h1
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp46
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h1
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp50
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h1
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp119
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h2
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/deadmines.h2
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h2
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/karazhan.h3
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp43
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp141
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp45
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp201
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp143
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp104
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp45
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/scholomance.h5
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp36
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/stratholme.h2
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp56
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp80
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h1
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/uldaman.h2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp60
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.h1
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp45
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h1
-rw-r--r--src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/zone_wetlands.cpp12
-rw-r--r--src/server/scripts/Events/childrens_week.cpp101
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp16
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp12
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp8
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp10
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp16
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp72
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp20
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp16
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp16
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp64
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp19
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp18
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp27
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp12
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp18
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp53
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.h2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp18
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp14
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp24
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp8
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.h2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp31
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h2
-rw-r--r--src/server/scripts/Kalimdor/Firelands/firelands.h1
-rw-r--r--src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp5
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h1
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp47
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp16
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp16
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp20
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp18
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp114
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp80
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h9
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp16
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp62
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.h1
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp1
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp10
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp1
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp8
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp8
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp12
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp8
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp44
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp50
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp74
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp34
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp28
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp28
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp61
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp12
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp70
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp14
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp1
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp18
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h2
-rw-r--r--src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp1
-rw-r--r--src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.h2
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp14
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp1
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp12
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.h2
-rw-r--r--src/server/scripts/Kalimdor/zone_ashenvale.cpp28
-rw-r--r--src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp90
-rw-r--r--src/server/scripts/Kalimdor/zone_durotar.cpp16
-rw-r--r--src/server/scripts/Kalimdor/zone_mulgore.cpp20
-rw-r--r--src/server/scripts/Kalimdor/zone_silithus.cpp80
-rw-r--r--src/server/scripts/Kalimdor/zone_tanaris.cpp43
-rw-r--r--src/server/scripts/Kalimdor/zone_the_barrens.cpp46
-rw-r--r--src/server/scripts/Kalimdor/zone_thunder_bluff.cpp20
-rw-r--r--src/server/scripts/Kalimdor/zone_winterspring.cpp14
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/ahnkahet.h1
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp14
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp17
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp38
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp48
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/azjol_nerub.h1
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp33
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp18
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp44
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp16
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp44
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp14
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.h1
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp14
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp8
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp25
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp1
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp51
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h7
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp56
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp52
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp84
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp1
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp34
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp36
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp8
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp36
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp42
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp1
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp25
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h2
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp27
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp27
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp12
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h1
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp44
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp10
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp15
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp16
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h1
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp42
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp12
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h1
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp63
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp12
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp11
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp10
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp46
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp16
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h1
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp18
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_eck.cpp18
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp31
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp16
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp16
-rw-r--r--src/server/scripts/Northrend/Gundrak/gundrak.h2
-rw-r--r--src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp1
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp18
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp12
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp10
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp22
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp1
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp1
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp30
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp10
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp25
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp28
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp6
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp74
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp12
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp23
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp17
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp8
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp18
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp10
-rw-r--r--src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp45
-rw-r--r--src/server/scripts/Northrend/Naxxramas/naxxramas.h2
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/eye_of_eternity.h2
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp71
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp1
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/nexus.h2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp44
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/oculus.h1
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/halls_of_lightning.h1
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp44
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.h1
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp48
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp99
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h1
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp48
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h1
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp44
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h1
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp1
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/vault_of_archavon.h2
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp1
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.h2
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/auchenai_crypts.h1
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp1
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp111
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp1
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/mana_tombs.h1
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp44
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/sethekk_halls.h1
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp44
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/shadow_labyrinth.h1
-rw-r--r--src/server/scripts/Outland/BlackTemple/black_temple.h1
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp4
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp10
-rw-r--r--src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp44
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp1
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp56
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/steam_vault.h1
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/the_slave_pens.h1
-rw-r--r--src/server/scripts/Outland/GruulsLair/gruuls_lair.h1
-rw-r--r--src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp44
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp8
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp44
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/hellfire_ramparts.h2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp51
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp1
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/magtheridons_lair.h2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp52
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp1
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/the_eye.h2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp44
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/mechanar.h2
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h1
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp44
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp45
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/the_botanica.h2
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp2
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp2
-rw-r--r--src/server/scripts/World/go_scripts.cpp28
-rw-r--r--src/server/shared/Database/Field.h16
-rw-r--r--src/server/worldserver/worldserver.conf.dist32
-rw-r--r--src/tools/vmap4_extractor/model.cpp2
321 files changed, 10750 insertions, 3478 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000000..99fb588c1cf
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,50 @@
+# Contributing
+
+Want to contribute? Great!
+
+1. Fork it.
+2. Create a branch (`git checkout -b fixes`)
+3. Commit your changes (`git commit -am "Added Snarkdown"`)
+4. Push to the branch (`git push origin fixes`)
+5. Open a [Pull Request][1]
+
+
+When creating patches read:
+- [TrinityCore Development Standards](http://www.trinitycore.org/f/topic/6-trinitycore-developing-standards/)
+- [WDB Fields](http://www.trinitycore.org/f/topic/58-wdb-fields/)
+- [Git Squash](https://ariejan.net/2011/07/05/git-squash-your-latests-commits-into-one/)
+
+We suggest you to create one branch for each `C++` based fix: on that way you can continue creating more fixes without having to wait to get one pull request merged.
+For the `SQL` files of `C++` based fixes the naming schema is: `YYYY_MM_DD_i_database_description.sql`, where `YYYY_MM_DD` is the date of the fix, `i_database` is the *ith* sql created that day for `database`.
+When doing changes to `auth` or `characters` database remember to update the base files (`/sql/base/*`).
+For SQL only fixes [create a ticket](https://github.com/TrinityCore/TrinityCore/issues/new).
+
+Wiki
+====
+
+The wiki is located at [http://trinitycore.info](http://trinitycore.info).
+
+You are welcome to create an account and help us improve and extend the wiki.
+
+
+Issues
+======
+
+Read [this](http://www.trinitycore.org/f/topic/37-the-trinitycore-issuetracker-and-you/) before creating a ticket.
+If you have problems with TrinityCore instalation, read http://www.trinitycore.org/f/topic/1518-trouble-with-your-trinity-install-readme-1st-faqs/
+
+
+Requirements
+============
+
+Platform: Linux, Windows or Mac
+Processor with SSE2 support
+Boost ≥ 1.4.9
+MySQL ≥ 5.1.0
+CMake ≥ 2.8.11.2 / 2.8.9 (Windows / Linux)
+OpenSSL ≥ 1.0.0
+GCC ≥ 4.7.2 (Linux only)
+MS Visual Studio ≥ 12 (2013) (Windows only)
+
+In case you choose Linux, we recommend to use Debian 7, it's the Linux we use to test compilations.
+Remember 4.3.4 branch is alpha, only intended for development, we don't recomend this branch to run a server.
diff --git a/README.md b/README.md
index fdb05c81eb4..33fea30e36e 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@ website at [TrinityCore.org](http://www.trinitycore.org).
+ Platform: Linux, Windows or Mac
+ Processor with SSE2 support
+ Boost ≥ 1.49
-+ MySQL ≥ 5.1.0 (included for Windows)
++ MySQL ≥ 5.1.0
+ CMake ≥ 2.8.11.2 / 2.8.9 (Windows / Linux)
+ OpenSSL ≥ 1.0.0
+ GCC ≥ 4.7.2 (Linux only)
diff --git a/sql/updates/world/2014_09_05_02_world_sai.sql b/sql/updates/world/2014_09_05_02_world_sai.sql
new file mode 100644
index 00000000000..1c6b1f02213
--- /dev/null
+++ b/sql/updates/world/2014_09_05_02_world_sai.sql
@@ -0,0 +1,50 @@
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=23282;
+
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=185932 AND `source_type`=1;
+
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(185932, 1, 0, 1, 62, 0, 100, 0, 8685, 0, 0, 0, 85, 41035, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Obsidia\'s Egg - On Gossip Option 0 Selected - Invoker Cast 41035 Four Dragons: Force Cast - Obsidia'),
+(185932, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Obsidia\'s Egg - On Gossip Option 0 Selected - Close Gossip');
+
+DELETE FROM `event_scripts` WHERE `id`=15005;
+INSERT INTO `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES
+(15005, 1, 10, 23364, 100000, 0, 2426.954, 7001.479, 367.3824, 0),
+(15005, 0, 10, 23282, 300000, 0, 2424.975, 6933.425, 409.5501, 1.43117);
+
+
+UPDATE `creature_template` SET `ainame`='SmartAI', `scriptname`='' WHERE `entry` =23364;
+DELETE FROM `smart_scripts` WHERE `entryorguid` =23364 AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` =23282 AND `source_type`=0 AND `id`>4;
+
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(23364, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 11, 15750, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Spawn - Cast Rookery Whelp Spawn-in Spell'),
+(23364, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Spawn - Say'),
+(23364, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 18, 33536, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Spawn - Set Unit Flags'),
+(23364, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 14, 27915, 185932, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Spawn - Despawn Obsidia\'s Egg'),
+(23364, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 23364, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Spawn - Start WP'),
+(23364, 0, 5, 6, 40, 0, 100, 0, 2, 23364, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 23282, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Reached WP2 - Set Data on Obsidia'),
+(23364, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - Reached WP2 - Despawn'),
+(23282, 0, 5, 0, 11, 0, 100, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Spawn - Set Unit Flags'),
+(23282, 0, 6, 7, 38, 0, 100, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Data Set - Say'),
+(23282, 0, 7, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 1, 23282, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Data Set - Start WP'),
+(23282, 0, 8, 9, 40, 0, 100, 0, 1, 23282, 0, 0, 94, 280, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Reached WP1 - Set Dynamic Flags'),
+(23282, 0, 9, 10, 61, 0, 100, 0, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Reached WP1 - Set Unit Flags'),
+(23282, 0, 10, 11, 61, 0, 100, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Reached WP1 - Set Home Position'),
+(23282, 0, 11, 0, 61, 0, 100, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Reached WP1 - Set Aggresive');
+
+DELETE FROM `creature_text` WHERE `entry` IN(23364,23282);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES
+(23364, 0, 0, 'The %s screams out for its mother.', 16, 0, 100, 0, 0, 431, 'Black Dragon Whelpling',21420),
+(23282, 0, 0, 'I believe that I shall feast upon both $r and ogre flesh tonight.', 14, 0, 100, 0, 0, 7274, 'Obsidia',21718);
+
+
+DELETE FROM `waypoints` WHERE `entry` IN(23364,23282);
+
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(23364, 1,2425.253, 6994.862, 368.0848, 'Black Dragon Whelpling'),
+(23364, 2,2424.881, 6998.754, 367.8495, 'Black Dragon Whelpling'),
+(23282, 1,2428.085, 6980.77, 369.7684, 'Obsidia');
+
+
+
diff --git a/sql/updates/world/2014_09_05_03_world_sai.sql b/sql/updates/world/2014_09_05_03_world_sai.sql
new file mode 100644
index 00000000000..37deab39085
--- /dev/null
+++ b/sql/updates/world/2014_09_05_03_world_sai.sql
@@ -0,0 +1,17 @@
+DELETE FROM `smart_scripts` WHERE `source_type`=1 AND `entryorguid` IN (185937,185938,185936);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(185937, 1, 0, 1, 62, 0, 100, 0, 8690, 0, 0, 0, 85, 41050, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Furywing\'s Egg - On Gossip Option 0 Selected - Invoker cast Four Dragons: Force Cast - Furywing'),
+(185938, 1, 0, 1, 62, 0, 100, 0, 8691, 0, 0, 0, 85, 41052, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Insidion\'s Egg - On Gossip Option 0 Selected - Invoker cast Four Dragons: Force Cast - Insidion'),
+(185936, 1, 0, 1, 62, 0, 100, 0, 8689, 0, 0, 0, 85, 41044, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Rivendark\'s Egg - On Gossip Option 0 Selected - Invoker cast Four Dragons: Force Cast - Rivendark'),
+(185937, 1, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Furywing\'s Egg - On Gossip Option 0 Selected - Close Gossip'),
+(185938, 1, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Insidion\'s Egg - On Gossip Option 0 Selected - Close Gossip'),
+(185936, 1, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Rivendark\'s Egg - On Gossip Option 0 Selected - Close Gossip'),
+(185937, 1, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Furywing\'s Egg - On Gossip Option 0 Selected - Despawn GO'),
+(185938, 1, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Insidion\'s Egg - On Gossip Option 0 Selected - Despawn GO'),
+(185936, 1, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Rivendark\'s Egg - On Gossip Option 0 Selected - Despawn GO');
+
+DELETE FROM `event_scripts` WHERE `id` IN(15004,15002);
+INSERT INTO `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES
+(15004, 0, 10, 23061, 300000, 0, 2060.6, 7418.53, 391.098, 0),
+(15002, 0, 10, 23281, 300000, 0, 4176.5, 5452.21, 291.923, 0),
+(15003, 0, 10, 23261, 300000, 0, 3845.31, 5220.04, 295.412, 0);
diff --git a/sql/updates/world/2014_09_05_04_world_trinity_string.sql b/sql/updates/world/2014_09_05_04_world_trinity_string.sql
new file mode 100644
index 00000000000..f7a7c3d9684
--- /dev/null
+++ b/sql/updates/world/2014_09_05_04_world_trinity_string.sql
@@ -0,0 +1,5 @@
+-- Implements in-game gm message when tickets are completed
+SET @LANG_COMMAND_TICKETCOMPLETED := 2030;
+DELETE FROM `trinity_string` WHERE `entry` = @LANG_COMMAND_TICKETCOMPLETED;
+INSERT INTO `trinity_string` (`entry`, `content_default`) VALUES (@LANG_COMMAND_TICKETCOMPLETED, '|cff00ff00Completed by|r:|cff00ccff %s|r');
+
diff --git a/sql/updates/world/2014_09_05_05_world_trinity_string.sql b/sql/updates/world/2014_09_05_05_world_trinity_string.sql
new file mode 100644
index 00000000000..616a77f36f1
--- /dev/null
+++ b/sql/updates/world/2014_09_05_05_world_trinity_string.sql
@@ -0,0 +1,11 @@
+-- Move cs_misc command output hardcoded strings to DB so they can be localized too
+DELETE FROM `trinity_string` WHERE `entry` IN (5030,5035,5039,5040,5041,5042,5043,5044);
+INSERT INTO `trinity_string` (`entry`, `content_default`) VALUES
+(5030, '<unauthorized>'),
+(5035, 'No reason'),
+(5039, 'Console'),
+(5040, 'Character'),
+(5041, 'Permanently'),
+(5042, 'You are outdoors'),
+(5043, 'You are indoors'),
+(5044, 'no VMAP available for area info');
diff --git a/sql/updates/world/2014_09_05_06_world_onyxia.sql b/sql/updates/world/2014_09_05_06_world_onyxia.sql
new file mode 100644
index 00000000000..99824d2d47a
--- /dev/null
+++ b/sql/updates/world/2014_09_05_06_world_onyxia.sql
@@ -0,0 +1,2 @@
+UPDATE creature_template SET InhabitType = 5 WHERE entry = 10184;
+UPDATE creature_template SET InhabitType = 5 WHERE entry = 36538;
diff --git a/sql/updates/world/2014_09_05_07_world_sai.sql b/sql/updates/world/2014_09_05_07_world_sai.sql
new file mode 100644
index 00000000000..de4921fd9d4
--- /dev/null
+++ b/sql/updates/world/2014_09_05_07_world_sai.sql
@@ -0,0 +1,129 @@
+SET @OGUID := 21036;
+
+-- respawn Fel Crystal Prism (Currently only 1 is spawned)
+
+DELETE FROM `gameobject` WHERE `id`=185927;
+INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
+(@OGUID+0, 185927, 530, 1, 1, 2909.894, 6797.157, 365.7202, 2.391098, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+1, 185927, 530, 1, 1, 2988.61, 7129.965, 368.9746, 1.029743, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+2, 185927, 530, 1, 1, 3080.931, 6914.941, 369.3258, 4.32842, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+3, 185927, 530, 1, 1, 2810.343, 7006.054, 376.0882, 1.151916, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+4, 185927, 530, 1, 1, 1385.925, 7392.285, 371.1215, 0.5585039, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+5, 185927, 530, 1, 1, 1280.611, 7164.499, 377.1786, 5.585054, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+6, 185927, 530, 1, 1, 1616.641, 7207.047, 375.4805, 5.131269, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+9, 185927, 530, 1, 1, 1673.486, 7377.358, 375.558, 1.308995, 0, 0, 0, 1, 120, 255, 1);
+
+-- SAI for Fel Crystal Prism
+UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=185927;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=185927 AND `source_type`=1;
+DELETE FROM `smart_scripts` WHERE `entryorguid` BETWEEN 18592700 AND 18592703 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
+(185927, 1, 0, 1, 62, 0, 100, 0, 8671, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - On Gossip Option 0 Selected - Store Targetlist'),
+(185927, 1, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 85, 40958, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - On Gossip Option 0 Selected - Invoker Cast Blades Edge Terrace Demon Boss Summon Trigger'),
+(185927, 1, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 85, 40962, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - On Gossip Option 0 Selected - Invoker Cast Blades Edge Terrace Demon Boss Summon Branch'),
+(185927, 1, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 87, 18592700, 18592701, 18592702, 18592703, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - On Gossip Option 0 Selected - Run Random Timed Action list'),
+(18592700, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 85, 40957, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 1 - Invoker Cast Blades Edge Terrace Demon Boss Summon 1'),
+(18592700, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 1 - Despawn GO'),
+(18592700, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 1 - Close Gossip'),
+(18592701, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 85, 40959, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 2 - Invoker Cast Blades Edge Terrace Demon Boss Summon 2'),
+(18592701, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 2 - Despawn GO'),
+(18592701, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 2 - Close Gossip'),
+(18592702, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 85, 40960, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 3 - Invoker Cast Blades Edge Terrace Demon Boss Summon 3'),
+(18592702, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 3 - Despawn GO'),
+(18592702, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 3 - Close Gossip'),
+(18592703, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 85, 40961, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 4 - Invoker Cast Blades Edge Terrace Demon Boss Summon 4'),
+(18592703, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 4 - Despawn GO'),
+(18592703, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Fel Crystal Prism - Script 4 - Close Gossip');
+
+-- SAI for Demons
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(22281,23353,23354,23355) AND `source_type`=0;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN(22281,23353,23354,23355);
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(22281,0,0,0,11,0,100,0,0,0,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0,'Galvanoth - On Spawn - Set Faction'),
+(22281,0,1,0,9,0,100,0,0,30,8000,11000,11,39139,0,0,0,0,0,7,0,0,0,0,0,0,0,'Galvanoth - On Range - Cast Fel Flamestike'),
+(22281,0,2,0,9,0,100,0,0,10,13000,23000,11,38750,0,0,0,0,0,1,0,0,0,0,0,0,0,'Galvanoth - On Range - Cast War Stomp'),
+(22281,0,3,0,9,0,100,0,0,5,11000,18000,11,15708,0,0,0,0,0,7,0,0,0,0,0,0,0,'Galvanoth - On Range - Cast Mortal Strike'),
+(23353,0,0,0,11,0,100,0,0,0,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0,'Braxxus - On Spawn - Set Faction'),
+(23353,0,1,0,9,0,100,0,0,5,4000,8000,11,41437,0,0,0,0,0,7,0,0,0,0,0,0,0,'Braxxus - On Range - Cast Double Breath'),
+(23353,0,2,0,9,0,100,0,0,10,15000,25000,11,41439,2,0,0,0,0,7,0,0,0,0,0,0,0,'Braxxus - On Range - Cast Mangle'),
+(23353,0,3,0,0,0,100,0,5000,8000,7000,11000,11,41436,0,0,0,0,0,1,0,0,0,0,0,0,0,'Braxxus - IC - Cast Panic'),
+(23354,0,0,0,11,0,100,0,0,0,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0,'Mo arg Incinerator - On Spawn - Set Faction'),
+(23354,0,1,0,9,0,100,0,0,40,5000,8000,11,44431,0,0,0,0,0,7,0,0,0,0,0,0,0,'Mo arg Incinerator - On Range - Cast Acid Geyser'),
+(23354,0,2,0,9,0,100,0,10,60,10000,15000,11,36606,0,0,0,0,0,7,0,0,0,0,0,0,0,'Mo arg Incinerator - On Range - Cast Mighty Charge'),
+(23354,0,3,0,9,0,100,0,0,5,15000,25000,11,25174,2,0,0,0,0,7,0,0,0,0,0,0,0,'Mo arg Incinerator - On Range - Cast Sundering Cleave'),
+(23355,0,0,0,11,0,100,0,0,0,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0,'Zarcsin - On Spawn - Set Faction'),
+(23355,0,1,0,9,0,100,0,0,5,5000,8000,11,41444,0,0,0,0,0,7,0,0,0,0,0,0,0,'Zarcsin - On Range - Cast Fel Flames'),
+(23355,0,2,0,2,0,100,1,0,50,5000,8000,11,41447,0,0,0,0,0,1,0,0,0,0,0,0,0,'Zarcsin - 50% HP - Cast Enrage');
+
+-- ALL 4 of these should have 100% chance to drop an apexis crystal, this is rolled if in party
+UPDATE `creature_loot_template` SET `ChanceOrQuestChance`=100 WHERE `entry`IN(22281,23353,23354,23355) AND `item`=32572;
+-- Fel Whip to complete quest is meant to have 100% chance to drop if on quest as all comments state you only have to kill 1 demon to complete the quest
+UPDATE `creature_loot_template` SET `ChanceOrQuestChance`=-100 WHERE `entry`IN(22281,23353,23354,23355) AND `item`=32733;
+
+DELETE FROM `smart_scripts` WHERE `source_type`=1 AND `entryorguid` IN (185937,185938,185936,185932);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(185937, 1, 0, 1, 62, 0, 100, 0, 8690, 0, 0, 0, 85, 41050, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Furywing\'s Egg - On Gossip Option 0 Selected - Invoker cast Four Dragons: Force Cast - Furywing'),
+(185938, 1, 0, 1, 62, 0, 100, 0, 8691, 0, 0, 0, 85, 41052, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Insidion\'s Egg - On Gossip Option 0 Selected - Invoker cast Four Dragons: Force Cast - Insidion'),
+(185936, 1, 0, 1, 62, 0, 100, 0, 8689, 0, 0, 0, 85, 41044, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Rivendark\'s Egg - On Gossip Option 0 Selected - Invoker cast Four Dragons: Force Cast - Rivendark'),
+(185937, 1, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 85, 41049, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Furywing\'s Egg - On Gossip Option 0 Selected - Invoker Cast Four Dragons: Reagents - Furywing'),
+(185938, 1, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 85, 41051, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Insidion\'s Egg - On Gossip Option 0 Selected - Invoker Cast Four Dragons: Reagents - Insidion'),
+(185936, 1, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 85, 41045, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Rivendark\'s Egg - On Gossip Option 0 Selected - Invoker Cast Four Dragons: Reagents - Rivendark'),
+(185937, 1, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Furywing\'s Egg - On Gossip Option 0 Selected - Close Gossip'),
+(185938, 1, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Insidion\'s Egg - On Gossip Option 0 Selected - Close Gossip'),
+(185936, 1, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Rivendark\'s Egg - On Gossip Option 0 Selected - Close Gossip'),
+(185937, 1, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Furywing\'s Egg - On Gossip Option 0 Selected - Despawn GO'),
+(185938, 1, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Insidion\'s Egg - On Gossip Option 0 Selected - Despawn GO'),
+(185936, 1, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Rivendark\'s Egg - On Gossip Option 0 Selected - Despawn GO'),
+(185932, 1, 0, 1, 62, 0, 100, 0, 8685, 0, 0, 0, 85, 41035, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Obsidia\'s Egg - On Gossip Option 0 Selected - Invoker Cast 41035 Four Dragons: Force Cast - Obsidia'),
+(185932, 1, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 85, 41036, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Obsidia\'s Egg - On Gossip Option 0 Selected - Invoker Cast Four Dragons: Reagents - Obsidia'),
+(185932, 1, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Obsidia\'s Egg - On Gossip Option 0 Selected - Close Gossip');
+
+DELETE FROM `event_scripts` WHERE `id` IN(15004,15002);
+INSERT INTO `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES
+(15004, 0, 10, 23061, 300000, 0, 2060.6, 7418.53, 391.098, 0),
+(15002, 0, 10, 23281, 300000, 0, 4176.5, 5452.21, 291.923, 0),
+(15003, 0, 10, 23261, 300000, 0, 3845.31, 5220.04, 295.412, 0);
+
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=23282;
+
+UPDATE `creature_template` SET `ainame`='SmartAI', `scriptname`='' WHERE `entry` =23364;
+DELETE FROM `smart_scripts` WHERE `entryorguid` =23364 AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` =23282 AND `source_type`=0 AND `id`>4;
+
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(23364, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 11, 15750, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Spawn - Cast Rookery Whelp Spawn-in Spell'),
+(23364, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Spawn - Say'),
+(23364, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 18, 33536, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Spawn - Set Unit Flags'),
+(23364, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 70, 300, 0, 0, 0, 0, 0, 14, 27915, 185932, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Spawn - Despawn Obsidia\'s Egg'),
+(23364, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 23364, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Spawn - Start WP'),
+(23364, 0, 5, 6, 40, 0, 100, 0, 2, 23364, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 23282, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - On Reached WP2 - Set Data on Obsidia'),
+(23364, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Black Dragon Whelpling - Reached WP2 - Despawn'),
+(23282, 0, 5, 0, 11, 0, 100, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Spawn - Set Unit Flags'),
+(23282, 0, 6, 7, 38, 0, 100, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Data Set - Say'),
+(23282, 0, 7, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 1, 23282, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Data Set - Start WP'),
+(23282, 0, 8, 9, 40, 0, 100, 0, 1, 23282, 0, 0, 94, 280, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Reached WP1 - Set Dynamic Flags'),
+(23282, 0, 9, 10, 61, 0, 100, 0, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Reached WP1 - Set Unit Flags'),
+(23282, 0, 10, 11, 61, 0, 100, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Reached WP1 - Set Home Position'),
+(23282, 0, 11, 0, 61, 0, 100, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Obsidia - On Reached WP1 - Set Aggresive');
+
+DELETE FROM `creature_text` WHERE `entry` IN(23364,23282);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES
+(23364, 0, 0, 'The %s screams out for its mother.', 16, 0, 100, 0, 0, 431, 'Black Dragon Whelpling',21420),
+(23282, 0, 0, 'I believe that I shall feast upon both $r and ogre flesh tonight.', 14, 0, 100, 0, 0, 7274, 'Obsidia',21718);
+
+
+DELETE FROM `waypoints` WHERE `entry` IN(23364,23282);
+
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(23364, 1,2425.253, 6994.862, 368.0848, 'Black Dragon Whelpling'),
+(23364, 2,2424.881, 6998.754, 367.8495, 'Black Dragon Whelpling'),
+(23282, 1,2428.085, 6980.77, 369.7684, 'Obsidia');
+
+DELETE FROM `event_scripts` WHERE `id` IN(15004,15002,15003,15005);
+INSERT INTO `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES
+(15004, 0, 10, 23061, 300000, 0, 2060.6, 7418.53, 391.098, 0),
+(15002, 0, 10, 23281, 300000, 0, 4176.5, 5452.21, 291.923, 0),
+(15003, 0, 10, 23261, 300000, 0, 3845.31, 5220.04, 295.412, 0),
+(15005, 1, 10, 23364, 100000, 0, 2426.954, 7001.479, 367.3824, 0),
+(15005, 0, 10, 23282, 300000, 0, 2424.975, 6933.425, 409.5501, 1.43117);
diff --git a/sql/updates/world/2014_09_06_00_world_creature_template.sql b/sql/updates/world/2014_09_06_00_world_creature_template.sql
new file mode 100644
index 00000000000..36bed391dd4
--- /dev/null
+++ b/sql/updates/world/2014_09_06_00_world_creature_template.sql
@@ -0,0 +1,4 @@
+UPDATE `creature_template` SET `dynamicflags`=`dynamicflags` &~ 1; -- lootable
+UPDATE `creature_template` SET `dynamicflags`=`dynamicflags` &~ 4; -- tapped
+UPDATE `creature_template` SET `dynamicflags`=`dynamicflags` &~ 8; -- tapped by player
+UPDATE `creature_template` SET `dynamicflags`=`dynamicflags` &~ 128; -- tapped by threat list
diff --git a/sql/updates/world/2014_09_06_01_world_creature_template.sql b/sql/updates/world/2014_09_06_01_world_creature_template.sql
new file mode 100644
index 00000000000..a78145a174f
--- /dev/null
+++ b/sql/updates/world/2014_09_06_01_world_creature_template.sql
@@ -0,0 +1 @@
+UPDATE `creature_template` SET `HoverHeight`=1 WHERE `entry`=33273; -- Maiden of Drak'Mar
diff --git a/sql/updates/world/2014_09_06_02_world_trinity_string.sql b/sql/updates/world/2014_09_06_02_world_trinity_string.sql
new file mode 100644
index 00000000000..b4eb67231e9
--- /dev/null
+++ b/sql/updates/world/2014_09_06_02_world_trinity_string.sql
@@ -0,0 +1,14 @@
+DELETE FROM `trinity_string` WHERE `entry` IN (5045, 5046, 5047, 5048, 5049, 5050, 5051, 5052, 5053, 5054, 5055, 5056);
+INSERT INTO `trinity_string` (`entry`, `content_default`) VALUES
+(5045, 'Map: %d inst: %d perm: %s diff: %d canReset: %s TTR: %s'),
+(5046, 'Player binds: %d'),
+(5047, 'Group binds: %d'),
+(5048, 'Unbinding map: %d inst: %d perm: %s diff: %d canReset: %s TTR: %s'),
+(5049, 'Instances unbound: %d'),
+(5050, 'Instances loaded: %d'),
+(5051, 'Players in instances: %d'),
+(5052, 'Instance saves: %d'),
+(5053, 'Players bound: %d'),
+(5054, 'Groups bound: %d'),
+(5055, 'Map is not a dungeon.'),
+(5056, 'Map has no instance data.');
diff --git a/sql/updates/world/2014_09_06_03_world_gameobject_template.sql b/sql/updates/world/2014_09_06_03_world_gameobject_template.sql
new file mode 100644
index 00000000000..0958562c243
--- /dev/null
+++ b/sql/updates/world/2014_09_06_03_world_gameobject_template.sql
@@ -0,0 +1,1642 @@
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=152583; -- AuctionNode
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=164639; -- Frost Trap
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=164877; -- Freezing Trap III
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=179944; -- Meeting Stone Summoning Portal
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=181030; -- Immolation Trap VI
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=181031; -- Explosive Trap IV
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=183384; -- Portal to Shattrath
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=18343; -- Cooking Fire
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=183957; -- Snake Trap
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=185879; -- Invisible Target
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=186811; -- Refreshment Portal
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=188215; -- Collision PC Size
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=190942; -- Death Gate
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=191083; -- Demonic Circle: Summon
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=191164; -- Portal to Dalaran
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=193168; -- Soul Portal
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=193771; -- Freezing Arrow I
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=194108; -- Summoning Portal
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=194278; -- Orgrimmar Banner
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=194283; -- Thunder Bluff Banner
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=194910; -- Doodad_UL_SigilDoor_03
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=202564; -- Gnome Table
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=202713; -- Hazard Light Red 02
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=21680; -- Duel Flag
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=2561; -- Freezing Trap
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=29784; -- Basic Campfire
+UPDATE `gameobject_template` SET `faction`=0, `flags`=0 WHERE `entry`=164839; -- Explosive Trap
+UPDATE `gameobject_template` SET `faction`=0, `flags`=0 WHERE `entry`=164872; -- Immolation Trap II
+UPDATE `gameobject_template` SET `faction`=0, `flags`=0 WHERE `entry`=164873; -- Immolation Trap III
+UPDATE `gameobject_template` SET `faction`=0, `flags`=0 WHERE `entry`=164874; -- Immolation Trap IV
+UPDATE `gameobject_template` SET `faction`=0, `flags`=0 WHERE `entry`=164876; -- Freezing Trap II
+UPDATE `gameobject_template` SET `faction`=0, `flags`=0 WHERE `entry`=164879; -- Explosive Trap II
+UPDATE `gameobject_template` SET `faction`=0, `flags`=0 WHERE `entry`=164880; -- Explosive Trap III
+UPDATE `gameobject_template` SET `faction`=0, `flags`=0 WHERE `entry`=193125; -- Anvil
+UPDATE `gameobject_template` SET `faction`=0, `flags`=0 WHERE `entry`=193126; -- Forge
+UPDATE `gameobject_template` SET `faction`=0, `flags`=32 WHERE `entry`=194498; -- Gnomeregan Banner
+UPDATE `gameobject_template` SET `faction`=101 WHERE `entry`=2844; -- Tattered Chest
+UPDATE `gameobject_template` SET `faction`=101, `flags`=4 WHERE `entry`=181643; -- Featherbeard's Remains
+UPDATE `gameobject_template` SET `faction`=101, `flags`=4 WHERE `entry`=181649; -- Featherbeard's Journal
+UPDATE `gameobject_template` SET `faction`=102 WHERE `entry`=105569; -- Silver Vein
+UPDATE `gameobject_template` SET `faction`=1081 WHERE `entry`=178088; -- Ragnaros
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=144065; -- Explosive Charge
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=177257; -- Doodad_DireMaulCrystalGenerator02
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=177258; -- Doodad_DireMaulCrystalGenerator03
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=177259; -- Doodad_DireMaulCrystalGenerator01
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=178187; -- Molten Core Circle SULFURON
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=178189; -- Molten Core Circle SHAZZRAH
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=178190; -- Molten Core Circle GOLEMAGG
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=179881; -- The Severed Head of Nefarian
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180144; -- Food Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180146; -- Speed Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180148; -- Berserk Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180362; -- Food Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180376; -- Berserk Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180378; -- Berserk Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180379; -- Speed Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180381; -- Speed Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180382; -- Berserk Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180383; -- Food Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180384; -- Speed Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180434; -- Bonfire
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180759; -- Orc Hero Portrait
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=180762; -- Troll Hero Portrait
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=181022; -- Standing, Giant - Val
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=181025; -- Hanging, Tall/Thin, Large - Val
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=181027; -- Floating, Medium - Val
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=182211; -- Fire (Small)
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184663; -- Shadow Sight
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184664; -- Shadow Sight
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184964; -- Speed Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184965; -- Restoration Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184966; -- Berserk Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184970; -- Speed Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184971; -- Restoration Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184972; -- Berserk Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184973; -- Speed Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184974; -- Restoration Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184975; -- Berserk Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184976; -- Speed Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184977; -- Restoration Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=184978; -- Berserk Buff
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=185600; -- Netherwing Egg Trap (Gas)
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=186745; -- Bonfire
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=187575; -- Hanging, Square, Small - Val
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=187668; -- Hanging, Tall/Thin, Small - Val
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=188073; -- Ahune Bonfire
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=188077; -- Ice Spear
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192252; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192253; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192267; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192268; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192270; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192271; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192276; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192279; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192281; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192282; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192288; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192291; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192400; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192401; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192415; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192423; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192424; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192425; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192426; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192427; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192428; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192430; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192431; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192440; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192442; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192443; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192444; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192449; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192450; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192452; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=192538; -- Small Proto-Drake Egg
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193466; -- 193466
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193467; -- 193467
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193472; -- 193472
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193473; -- 193473
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193474; -- 193474
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193475; -- 193475
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193477; -- 193477
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193478; -- 193478
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193479; -- 193479
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193498; -- 193498
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193499; -- 193499
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193500; -- 193500
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193501; -- 193501
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193502; -- 193502
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193503; -- 193503
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193504; -- 193504
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193505; -- 193505
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193506; -- 193506
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193507; -- 193507
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193508; -- 193508
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193509; -- 193509
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193510; -- 193510
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193511; -- 193511
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193512; -- 193512
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193513; -- 193513
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193514; -- 193514
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193515; -- 193515
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193521; -- 193521
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193522; -- 193522
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193523; -- 193523
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193524; -- 193524
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193525; -- 193525
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193526; -- 193526
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193527; -- 193527
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193528; -- 193528
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193529; -- 193529
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193797; -- 193797
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193798; -- 193798
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193799; -- 193799
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193800; -- 193800
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193801; -- 193801
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193802; -- 193802
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193803; -- 193803
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193804; -- 193804
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193805; -- 193805
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193806; -- 193806
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193807; -- 193807
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193808; -- 193808
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193809; -- 193809
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193810; -- 193810
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193811; -- 193811
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193812; -- 193812
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193813; -- 193813
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193814; -- 193814
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193815; -- 193815
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193816; -- 193816
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193817; -- 193817
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193818; -- 193818
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193819; -- 193819
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193820; -- 193820
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193821; -- 193821
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193822; -- 193822
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193823; -- 193823
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193824; -- 193824
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193825; -- 193825
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193826; -- 193826
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193827; -- 193827
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193828; -- 193828
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193829; -- 193829
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193830; -- 193830
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193831; -- 193831
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193832; -- 193832
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193833; -- 193833
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193834; -- 193834
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193835; -- 193835
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193836; -- 193836
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193837; -- 193837
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193838; -- 193838
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193839; -- 193839
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193840; -- 193840
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193841; -- 193841
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193842; -- 193842
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193843; -- 193843
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193844; -- 193844
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=193845; -- 193845
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=194120; -- Bear Cage
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=194121; -- Leopard Cage
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=194576; -- Thunder Gear
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=194577; -- Axe Gear
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=195254; -- Hanging, Square, Large - Brewfest
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=195255; -- Hanging, Tall/Thin, Large - Brewfest
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=195257; -- Hanging, Tall/Thin, Small - Brewfest
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=195259; -- Hanging, Square, Small - Brewfest
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=195260; -- Standing, Interior, Small - Brewfest
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=195265; -- Standing, Large - Brewfest
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=195266; -- Hanging, Streamer - Brewfest
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=195273; -- Hanging, Tall/Thin, Medium - Brewfest
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry`=202218; -- Drugan's Keg
+UPDATE `gameobject_template` SET `faction`=114, `flags`=1 WHERE `entry`=188508; -- Dark Iron Mole Machine (Minion Summoner)
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=178107; -- Lava Steam
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=178108; -- Lava Splash
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=180421; -- Alliance Banner Aura, Large
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=180422; -- Horde Banner Aura, Large
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=180423; -- Neutral Banner Aura, Large
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=188067; -- Ice Block
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=188142; -- Ice Block, Big
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=191877; -- Doodad_DalaranSewer01
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=192704; -- Doodad_OrgrimmarArena_FireFX01
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=192705; -- Doodad_OrgrimmarArena_FireFX02
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=192937; -- 192937
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=193795; -- 193795
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=193796; -- 193796
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=194395; -- Doodad_DalaranSewer_ArenaWaterFall_Collision01
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=195000; -- [DND] Ice Block, X-TRA Big
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=196485; -- Saronite Rock
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201563; -- Oratory of the Damned Entrance
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201612; -- Scientist Airlock Door Collision
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201613; -- Scientist Airlock Door Orange
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201614; -- Scientist Airlock Door Green
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201857; -- Lord Marrowgar's Entrance
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201858; -- Alliance Teleporter
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201868; -- Alliance Tent
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201869; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201880; -- Horde Teleporter
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201885; -- Ice Wall
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201886; -- Horde Tent
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201887; -- Horde Tent
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201910; -- Doodad_IceCrown_Icewall02
+UPDATE `gameobject_template` SET `faction`=114, `flags`=32 WHERE `entry`=201911; -- Icewall
+UPDATE `gameobject_template` SET `faction`=1375 WHERE `entry`=180854; -- Firework Rocket, Type 1 Blue
+UPDATE `gameobject_template` SET `faction`=1375 WHERE `entry`=181886; -- Firework Rocket, Promotion
+UPDATE `gameobject_template` SET `faction`=1375 WHERE `entry`=184081; -- Fel Reaver Cap Pt
+UPDATE `gameobject_template` SET `faction`=1375 WHERE `entry`=201846; -- Doodad_IceCrown_Valve03
+UPDATE `gameobject_template` SET `faction`=1375 WHERE `entry`=201847; -- Doodad_IceCrown_Valve04
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=183970; -- Doodad_PVP_Ogre_Door_Front01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=183971; -- Doodad_PVP_Ogre_Door_Front02
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=183972; -- Doodad_PVP_Ogre_Door_Front03
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=183973; -- Doodad_PVP_Ogre_Door_Front04
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=183977; -- Doodad_PVP_Orc_Door_Front01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=183978; -- Doodad_PVP_Orc_Door_Interior01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=183979; -- Doodad_PVP_Orc_Door_Front01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=183980; -- Doodad_PVP_Orc_Door_Interior01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=185917; -- Doodad_PVP_Lordaeron_Door02
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=185918; -- Doodad_PVP_Lordaeron_Door01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=192685; -- Yellow Moon Sigil
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=192687; -- Green Moon Sigil
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=192689; -- Blue Moon Sigil
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=192690; -- Red Moon Sigil
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=192691; -- Purple Moon Sigil
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=193070; -- Nexus Raid Platform
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=195223; -- Horde Keep Portcullis
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=195436; -- Doodad_HU_Portcullis01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=195437; -- Doodad_VR_Portcullis01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=195451; -- Doodad_PortcullisActive01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=195452; -- Doodad_PortcullisActive02
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=195491; -- Doodad_ND_WinterOrc_Wall_GateFX_Door01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=195701; -- Teleporter Effects (Alliance)
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=195702; -- Teleporter Effects (Horde)
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=195703; -- Doodad_ND_Human_Gate_ClosedFX_Door01
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=201617; -- Doodad_IceCrown_OrangeTubes02
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`=201618; -- Doodad_IceCrown_GreenTubes02
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=33 WHERE `entry`=195705; -- Alliance Gunship Portal Effects
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=33 WHERE `entry`=195706; -- Horde Gunship Portal Effects
+UPDATE `gameobject_template` SET `faction`=14 WHERE `entry`=187453; -- Bubbly Fissure
+UPDATE `gameobject_template` SET `faction`=14 WHERE `entry`=187455; -- Bubbly Fissure
+UPDATE `gameobject_template` SET `faction`=14, `flags`=2 WHERE `entry`=187378; -- Harkor's Cage
+UPDATE `gameobject_template` SET `faction`=14, `flags`=2 WHERE `entry`=187380; -- Ashli's Cage
+UPDATE `gameobject_template` SET `faction`=14, `flags`=32 WHERE `entry`=148883; -- Atal'ai Light SMALL (DND)
+UPDATE `gameobject_template` SET `faction`=14, `flags`=32 WHERE `entry`=187704; -- Kvaldir Inferno
+UPDATE `gameobject_template` SET `faction`=16 WHERE `entry`=191457; -- Lava Bomb
+UPDATE `gameobject_template` SET `faction`=1627 WHERE `entry`=181153; -- Wanted Poster: Kel'gash the Wicked
+UPDATE `gameobject_template` SET `faction`=168 WHERE `entry`=175534; -- Supply Crate
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190219; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190369; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190370; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190371; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190372; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190373; -- Wintergrasp Fortress Tower
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190374; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190375; -- Wintergrasp Fortress Gate
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190376; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190377; -- Wintergrasp Fortress Tower
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=190378; -- Wintergrasp Fortress Tower
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191795; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191796; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191797; -- Wintergrasp Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191798; -- Wintergrasp Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191799; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191800; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191801; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191802; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191803; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191804; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191805; -- Wintergrasp Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191806; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191807; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191808; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191809; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=191810; -- Wintergrasp Fortress Door
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=194908; -- Lance Rack
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=195467; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=1732 WHERE `entry`=195468; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=288 WHERE `entry`=190220; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=288 WHERE `entry`=190221; -- Wintergrasp Fortress Tower
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=288 WHERE `entry`=190369; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=288 WHERE `entry`=190370; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=288 WHERE `entry`=190373; -- Wintergrasp Fortress Tower
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=288 WHERE `entry`=190375; -- Wintergrasp Fortress Gate
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=288 WHERE `entry`=190376; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=288 WHERE `entry`=191804; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=288 WHERE `entry`=191809; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=32 WHERE `entry`=190753; -- Seaforium Bomb
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=32 WHERE `entry`=195320; -- Alliance Gunship Portal
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=48 WHERE `entry`=192834; -- Titan Relic
+UPDATE `gameobject_template` SET `faction`=1732, `flags`=48 WHERE `entry`=194083; -- Titan Relic
+UPDATE `gameobject_template` SET `faction`=1735 WHERE `entry`=187390; -- Guild Vault
+UPDATE `gameobject_template` SET `faction`=1735 WHERE `entry`=187674; -- Ith'rix's Hardened Carapace
+UPDATE `gameobject_template` SET `faction`=1735 WHERE `entry`=188215; -- Collision PC Size
+UPDATE `gameobject_template` SET `faction`=1735 WHERE `entry`=190356; -- Shadowsight Tower
+UPDATE `gameobject_template` SET `faction`=1735 WHERE `entry`=190357; -- Winter's Edge Tower
+UPDATE `gameobject_template` SET `faction`=1735 WHERE `entry`=190704; -- Barbershop Chair
+UPDATE `gameobject_template` SET `faction`=1735 WHERE `entry`=194909; -- Lance Rack
+UPDATE `gameobject_template` SET `faction`=1735, `flags`=32 WHERE `entry`=194086; -- Seaforium Bomb
+UPDATE `gameobject_template` SET `faction`=1735, `flags`=32 WHERE `entry`=195326; -- Horde Gunship Portal
+UPDATE `gameobject_template` SET `faction`=1735, `flags`=48 WHERE `entry`=192829; -- Titan Relic
+UPDATE `gameobject_template` SET `faction`=1735, `flags`=48 WHERE `entry`=194082; -- Titan Relic
+UPDATE `gameobject_template` SET `faction`=1735, `flags`=48 WHERE `entry`=194086; -- Seaforium Bomb
+UPDATE `gameobject_template` SET `faction`=1865 WHERE `entry`=185915; -- Netherwing Egg
+UPDATE `gameobject_template` SET `faction`=1877 WHERE `entry`=185877; -- Nethercite Deposit
+UPDATE `gameobject_template` SET `faction`=1922 WHERE `entry`=187376; -- NPC Fishing Bobber
+UPDATE `gameobject_template` SET `faction`=1989 WHERE `entry`=194006; -- Bear Trap
+UPDATE `gameobject_template` SET `faction`=2051 WHERE `entry`=192907; -- Return to the Valley of Echoes
+UPDATE `gameobject_template` SET `faction`=2059 WHERE `entry`=184142; -- Netherstorm Flag
+UPDATE `gameobject_template` SET `faction`=2209 WHERE `entry`=202106; -- Frost Trap
+UPDATE `gameobject_template` SET `faction`=2235, `flags`=32 WHERE `entry`=195237; -- Seaforium Bombs
+UPDATE `gameobject_template` SET `faction`=2236, `flags`=32 WHERE `entry`=195232; -- Seaforium Bombs
+UPDATE `gameobject_template` SET `faction`=35 WHERE `entry`=180452; -- Blastenheimer 5000 Ultra Cannon
+UPDATE `gameobject_template` SET `faction`=35 WHERE `entry`=180619; -- Ossirian Crystal
+UPDATE `gameobject_template` SET `faction`=35 WHERE `entry`=186739; -- Amani Charm Box
+UPDATE `gameobject_template` SET `faction`=35 WHERE `entry`=186740; -- Amani Charm Box
+UPDATE `gameobject_template` SET `faction`=35 WHERE `entry`=186741; -- Amani Charm Box
+UPDATE `gameobject_template` SET `faction`=35 WHERE `entry`=193988; -- Twilight Portal
+UPDATE `gameobject_template` SET `faction`=35 WHERE `entry`=193989; -- Normal Portal
+UPDATE `gameobject_template` SET `faction`=35 WHERE `entry`=202080; -- Dart's Nest
+UPDATE `gameobject_template` SET `faction`=35 WHERE `entry`=202278; -- Orb of Naxxramas
+UPDATE `gameobject_template` SET `faction`=35, `flags`=32 WHERE `entry`=180089; -- Farm Banner
+UPDATE `gameobject_template` SET `faction`=35, `flags`=32 WHERE `entry`=180090; -- Lumber Mill Banner
+UPDATE `gameobject_template` SET `faction`=35, `flags`=32 WHERE `entry`=186685; -- Dark Iron Mole Machine
+UPDATE `gameobject_template` SET `faction`=35, `flags`=32 WHERE `entry`=195133; -- Workshop Banner
+UPDATE `gameobject_template` SET `faction`=35, `flags`=32 WHERE `entry`=195157; -- Docks Banner
+UPDATE `gameobject_template` SET `faction`=35, `flags`=32 WHERE `entry`=195158; -- Hangar Banner
+UPDATE `gameobject_template` SET `faction`=35, `flags`=32 WHERE `entry`=195338; -- Quarry Banner
+UPDATE `gameobject_template` SET `faction`=35, `flags`=32 WHERE `entry`=195343; -- Refinery Banner
+UPDATE `gameobject_template` SET `faction`=35, `flags`=32 WHERE `entry`=195371; -- Gunship Portal
+UPDATE `gameobject_template` SET `faction`=35, `flags`=32 WHERE `entry`=196413; -- Gunship Portal
+UPDATE `gameobject_template` SET `faction`=35, `flags`=4 WHERE `entry`=148838; -- Idol of Hakkar
+UPDATE `gameobject_template` SET `faction`=534 WHERE `entry`=195607; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=534 WHERE `entry`=195613; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=54 WHERE `entry`=177764; -- Inferno
+UPDATE `gameobject_template` SET `faction`=54 WHERE `entry`=178194; -- Lava Crack
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195554; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195556; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195557; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195558; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195559; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195560; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195561; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195562; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195624; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195625; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195626; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195627; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195628; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=714 WHERE `entry`=195629; -- Mailbox
+UPDATE `gameobject_template` SET `faction`=83 WHERE `entry`=178394; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83 WHERE `entry`=178936; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83 WHERE `entry`=179284; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83 WHERE `entry`=179308; -- Contested Banner
+UPDATE `gameobject_template` SET `faction`=83 WHERE `entry`=179482; -- Contested Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=180072; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=180073; -- Contested Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=180092; -- Contested Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=180094; -- Contested Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=180096; -- Contested Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=191306; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=191308; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=191310; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195132; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195144; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195149; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195150; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195153; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195154; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195334; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195335; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195339; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195340; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195391; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195392; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=32 WHERE `entry`=195397; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=4 WHERE `entry`=142702; -- Venom Bottle
+UPDATE `gameobject_template` SET `faction`=83, `flags`=48 WHERE `entry`=191308; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=48 WHERE `entry`=191310; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=83, `flags`=48 WHERE `entry`=195396; -- Alliance Banner
+UPDATE `gameobject_template` SET `faction`=84 WHERE `entry`=178393; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84 WHERE `entry`=179285; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84 WHERE `entry`=179443; -- Contested Banner
+UPDATE `gameobject_template` SET `faction`=84 WHERE `entry`=179483; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84 WHERE `entry`=182167; -- Fire Bomb
+UPDATE `gameobject_template` SET `faction`=84 WHERE `entry`=83763; -- Stolen Books
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=180086; -- Contested Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=180093; -- Contested Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195130; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195145; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195151; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195152; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195155; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195156; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195336; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195337; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195341; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195342; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195398; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=32 WHERE `entry`=195399; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=48 WHERE `entry`=191305; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=48 WHERE `entry`=191307; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=48 WHERE `entry`=191309; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=84, `flags`=48 WHERE `entry`=195393; -- Horde Banner
+UPDATE `gameobject_template` SET `faction`=94 WHERE `entry`=169243; -- Chest of The Seven
+UPDATE `gameobject_template` SET `faction`=94 WHERE `entry`=181248; -- Copper Vein
+UPDATE `gameobject_template` SET `faction`=94 WHERE `entry`=181249; -- Tin Vein
+UPDATE `gameobject_template` SET `faction`=94 WHERE `entry`=195682; -- Portal to Dalaran
+UPDATE `gameobject_template` SET `faction`=94 WHERE `entry`=202079; -- Portal to Dalaran
+UPDATE `gameobject_template` SET `faction`=94, `flags`=16 WHERE `entry`=186672; -- Ashli's Bag
+UPDATE `gameobject_template` SET `faction`=94, `flags`=16 WHERE `entry`=187021; -- Harkor's Satchel
+UPDATE `gameobject_template` SET `faction`=94, `flags`=16 WHERE `entry`=202239; -- Deathbringer's Cache
+UPDATE `gameobject_template` SET `faction`=94, `flags`=16 WHERE `entry`=202240; -- Deathbringer's Cache
+UPDATE `gameobject_template` SET `faction`=94, `flags`=2 WHERE `entry`=180691; -- Scarab Coffer
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=148956; -- Anvil
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=148957; -- Anvil
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=148958; -- Anvil
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=148959; -- Anvil
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=148960; -- Forge
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=149048; -- Wooden Bench
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=153556; -- Thaurissan Relic
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=162024; -- Samophlange
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=164875; -- Immolation Trap V
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=169216; -- Preserved Threshadon Carcass
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=175965; -- Frostwhisper's Embalming Fluid
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=175966; -- Enchanted Scarlet Thread
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=176089; -- Unfired Plate Gauntlets
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=176112; -- Malor's Strongbox
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=176224; -- Supply Crate
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=176311; -- Pew
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=176312; -- Pew
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=176313; -- Pew
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=176314; -- Pew
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=176315; -- Pew
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=176316; -- Pew
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=176498; -- Portal to Darnassus
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=177704; -- Lava Bomb
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=178388; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=178929; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=179264; -- Giant Clam
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=179439; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=179465; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=179468; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=180763; -- Firecrackers
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=181271; -- Dreaming Glory
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=181272; -- Dreaming Glory
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=181278; -- Ancient Lichen
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=181281; -- Mana Thistle
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=181284; -- Mana Thistle
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=181556; -- Adamantite Deposit
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=181569; -- Rich Adamantite Deposit
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=181802; -- Adamantite Bound Chest
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=184189; -- Instance_Portal_Difficulty_1
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=184190; -- Instance_Portal_Difficulty_0
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=185878; -- Nethercite Smoke Effect
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=185881; -- Netherdust Bush
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186609; -- Glowing Anvil
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186610; -- Glowing Anvil
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186611; -- Glowing Anvil
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186688; -- Doodad_VR_Bellows_First
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186689; -- Doodad_VR_Bellows_Second
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186690; -- Doodad_VR_Bellows_Third
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186695; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186696; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186697; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186698; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186699; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186700; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186701; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186702; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186703; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186704; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186705; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186706; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=186707; -- Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=187184; -- Bonfire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=187242; -- Campfire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=187243; -- Campfire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=188376; -- Borean Tundra
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=188377; -- Agmar's Hammer
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=188378; -- Wyrmrest Temple
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=188398; -- Wintergarde Keep
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=188399; -- Wyrmrest Temple
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=188413; -- Grizzly Hills
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=188593; -- Stasis Generator
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=188715; -- Orb of the Nexus
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=189292; -- Scrying Orb
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=189294; -- Campfire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=189985; -- Nexus Portal
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=190557; -- Runeforge
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=190629; -- Drakuru's Brazier
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=190858; -- Volkhan Temper Visual
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=190914; -- Mailbox
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191070; -- Campfire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191071; -- Smoldering Leaves
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191072; -- Campfire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191073; -- Smoldering Leaves
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191074; -- Smoldering Leaves
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191075; -- Campfire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191076; -- Smoldering Leaves
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191077; -- Smoldering Leaves
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191126; -- Duel Flag
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191237; -- Forge
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191238; -- Anvil
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191239; -- Campfire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191240; -- Campfire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191347; -- Drakuru's Pedestal
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191349; -- Cache of Eregos
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191440; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191444; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191445; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191555; -- Scourge Gryphon Roost Glow
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191577; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191580; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191581; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191582; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191583; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191584; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191585; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191586; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191587; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191588; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191589; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191590; -- Acherus Soul Prison
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191616; -- Touch of the Banshee
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191617; -- Compendium of Fallen Heroes
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191618; -- Report from the Frontlines: Western Northrend
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191631; -- Report from the Frontlines: Eastern Kingdoms
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191632; -- Report from the Frontlines: Dragonblight
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191633; -- Report from the Frontlines: Undercity
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191634; -- The Death Knights of Acherus
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191646; -- Corpulous' Mess Hall Rules
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191648; -- Account of the Raising of a Frost Wyrm
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191649; -- The Memoirs of Lord Thorval
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191650; -- Guide to the Side Effects of Reanimation
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191652; -- Grooming for Ghouls
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191653; -- Unknown Crusader's Diary
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191654; -- ATTENTION: Geists
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191655; -- One Truth in Undeath
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191656; -- On Scholomance
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191657; -- On Stratholme
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191658; -- On Naxxramas
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191659; -- On Undeath
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191662; -- A Zombie's Guide to Proper Nutrition
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191663; -- This is my Runeblade...
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191664; -- The Decree of the Scourge
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191846; -- Doodad_InstanceNewPortal_Purple01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191847; -- Doodad_InstanceNewPortal_Purple_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191848; -- Doodad_InstanceNewPortal_Purple02
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191849; -- Doodad_InstanceNewPortal_Purple_Skull02
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191855; -- Lava
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191856; -- Lava
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191857; -- Lava
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191860; -- Lava
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191862; -- Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191866; -- Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191867; -- Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191869; -- Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191870; -- Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191871; -- Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191872; -- Lava
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191873; -- Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191874; -- Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191875; -- Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=191876; -- Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192067; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192068; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192083; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192084; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192085; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192086; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192087; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192088; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192089; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192163; -- Left Pipe
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192164; -- Right Pipe
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192235; -- 192235
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192254; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192255; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192273; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192274; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192277; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192278; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192284; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192285; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192290; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192336; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192338; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192339; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192349; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192350; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192351; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192352; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192353; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192354; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192355; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192356; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192357; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192358; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192359; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192360; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192361; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192362; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192363; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192364; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192366; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192367; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192368; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192369; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192370; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192371; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192372; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192373; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192374; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192375; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192378; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192379; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192406; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192407; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192414; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192417; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192418; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192429; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192460; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192461; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192465; -- Doodad_InstanceNewPortal_Purple01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192466; -- Doodad_InstanceNewPortal_Purple_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192467; -- Doodad_InstanceNewPortal_Purple01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192468; -- Doodad_InstanceNewPortal_Purple_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192488; -- Wintergrasp Horde Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192489; -- Doodad_InstanceNewPortal_Purple01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192490; -- Doodad_InstanceNewPortal_Purple_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192501; -- Wintergrasp Alliance Banner
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192503; -- Doodad_InstanceNewPortal_Purple_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192504; -- Doodad_InstanceNewPortal_Purple01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192513; -- Doodad_InstanceNewPortal_Purple02
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192514; -- Doodad_InstanceNewPortal_Purple_Skull02
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192528; -- Doodad_InstanceNewPortal_Purple01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192529; -- Doodad_InstanceNewPortal_Purple_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192622; -- Meeting Stone
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192677; -- Doodad_InstanceNewPortal_Purple_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192678; -- Doodad_InstanceNewPortal_Purple01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192679; -- Doodad_InstanceNewPortal_Purple02
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192680; -- Doodad_InstanceNewPortal_Purple_Skull02
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192681; -- Doodad_InstanceNewPortal_Purple01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192682; -- Doodad_InstanceNewPortal_Purple_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192850; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192853; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192863; -- Doodad_InstanceNewPortal_Green01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192864; -- Doodad_InstanceNewPortal_Green_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192903; -- Doodad_InstanceNewPortal_Green01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192904; -- Doodad_InstanceNewPortal_Green_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=192951; -- Vehicle Teleporter
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193039; -- Doodad_InstanceNewPortal_Green_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193040; -- Doodad_InstanceNewPortal_Green01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193110; -- 193110
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193111; -- 193111
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193112; -- 193112
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193113; -- 193113
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193114; -- 193114
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193115; -- 193115
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193116; -- 193116
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193117; -- 193117
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193118; -- 193118
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193119; -- 193119
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193120; -- 193120
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193121; -- 193121
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193122; -- 193122
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193123; -- 193123
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193127; -- 193127
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193139; -- 193139
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193140; -- 193140
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193141; -- 193141
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193142; -- 193142
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193143; -- 193143
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193144; -- 193144
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193145; -- 193145
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193146; -- 193146
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193147; -- 193147
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193148; -- 193148
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193149; -- 193149
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193150; -- 193150
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193151; -- 193151
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193152; -- 193152
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193153; -- 193153
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193154; -- 193154
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193155; -- 193155
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193156; -- 193156
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193157; -- 193157
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193158; -- 193158
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193159; -- 193159
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193160; -- 193160
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193161; -- 193161
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193212; -- Doodad_InstanceNewPortal_Purple_Skull04
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193213; -- Doodad_InstanceNewPortal_Purple04
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193587; -- Doodad_InstanceNewPortal_Green_Skull01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193588; -- Doodad_InstanceNewPortal_Green01
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=193907; -- Tribunal Control Console
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=202212; -- The Captain's Chest
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=202794; -- Twilight Portal
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22831; -- Cozy Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22832; -- Cozy Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22833; -- Cozy Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22834; -- Cozy Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22835; -- Cozy Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22836; -- Cozy Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22854; -- Wooden Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22855; -- Wooden Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22856; -- Wooden Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22858; -- Wooden Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22860; -- High Back Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22864; -- Wooden Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22865; -- Wooden Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22879; -- High Back Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=22880; -- High Back Chair
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=3801; -- Cozy Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=3802; -- Cozy Fire
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=386; -- Metal Mace
+UPDATE `gameobject_template` SET `flags`=1 WHERE `entry`=183518; -- Lever
+UPDATE `gameobject_template` SET `flags`=1 WHERE `entry`=186482; -- Zul'Aman Dummy Cage - Open
+UPDATE `gameobject_template` SET `flags`=1 WHERE `entry`=187560; -- Valiance Keep Cannon
+UPDATE `gameobject_template` SET `flags`=1 WHERE `entry`=191463; -- Lamp
+UPDATE `gameobject_template` SET `flags`=1 WHERE `entry`=191466; -- Lamp
+UPDATE `gameobject_template` SET `flags`=1 WHERE `entry`=191470; -- Lamp
+UPDATE `gameobject_template` SET `flags`=1 WHERE `entry`=192918; -- Brigg's Chest
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=148418; -- Eternal Flame
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=148419; -- Eternal Flame
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=148420; -- Eternal Flame
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=148421; -- Eternal Flame
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=164822; -- Dark Keeper Nameplate
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=164823; -- Dark Keeper Nameplate
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=174610; -- Cleansed Songflower
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=176944; -- Old Treasure Chest
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=176951; -- Rune of Koro
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=176952; -- Rune of Zeth
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=176953; -- Rune of Mazj
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=176954; -- Rune of Theri
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=185168; -- Reinforced Fel Iron Chest
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=186910; -- Gjalerbron Cage
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=187892; -- Ice Chest
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=190586; -- Tribunal Chest
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=190663; -- Dark Runed Chest
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=192518; -- Altar of Slad'ran
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=192519; -- Altar of Moorabi
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=192520; -- Altar of the Drakkari Colossus
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=193597; -- Dark Runed Chest
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=193996; -- Tribunal Chest
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=201615; -- Ooze Release Valve
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=201616; -- Gas Release Valve
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=201959; -- Cache of the Dreamwalker
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=182094; -- Cage
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=184716; -- Coilskar Chest
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=187369; -- Cage
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=187377; -- Tanzar's Cage
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=187379; -- Kraz's Cage
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=187561; -- Arcane Prison
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=188259; -- Grizzly Hills Bounty Hunter Cage
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=190567; -- Cage
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=191543; -- Scarlet Onslaught Trunk
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=75296; -- Large Iron Bound Chest
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=75297; -- Large Iron Bound Chest
+UPDATE `gameobject_template` SET `flags`=20 WHERE `entry`=141858; -- Stone of Binding
+UPDATE `gameobject_template` SET `flags`=20 WHERE `entry`=179545; -- The Prince's Chest
+UPDATE `gameobject_template` SET `flags`=20 WHERE `entry`=187372; -- The Talon King's Coffer
+UPDATE `gameobject_template` SET `flags`=20 WHERE `entry`=201937; -- Light's Vengeance
+UPDATE `gameobject_template` SET `flags`=288 WHERE `entry`=190358; -- Flamewatch Tower
+UPDATE `gameobject_template` SET `flags`=288 WHERE `entry`=190376; -- Wintergrasp Fortress Wall
+UPDATE `gameobject_template` SET `flags`=288 WHERE `entry`=191805; -- Wintergrasp Wall
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=104591; -- Chapel Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=104600; -- High Inquisitor's Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=141869; -- Temple Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=148937; -- Atal'ai Light BIG (DND)
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=175379; -- Doodad_ZigguratDoor02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=175381; -- Doodad_ZigguratDoor03
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=175968; -- Hoard Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=175969; -- Doodad_DwarvenTunnelPortcullis04
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=176194; -- Hall of the High Command
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=176907; -- Conservatory Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=177211; -- Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=177212; -- Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=177213; -- Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=177215; -- Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=177220; -- Crumble Wall
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=178932; -- [PH] Alliance A2 Tower Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=178947; -- [PH] Alliance A3 Tower Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=178948; -- [PH] Alliance A4 Tower Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179424; -- [PH] Alliance Graveyard Mid Pre-Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179425; -- [PH] Horde Graveyard Mid Pre-Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179436; -- [PH] Horde A1 Tower Pre-Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179440; -- [PH] Horde A2 Tower Pre-Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179444; -- [PH] Horde A4 Tower Pre-Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179446; -- [PH] Alliance H1 Tower Pre-Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179450; -- [PH] Alliance H2 Tower Pre-Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179454; -- [PH] Alliance H3 Tower Pre-Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179458; -- [PH] Alliance H4 Tower Pre-Banner BIG
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179503; -- Doodad_DireMaulBossForceField01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179506; -- Doodad_DiremaulMagicVortex01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=179964; -- DARKMOON FAIRE - Coming Soon!
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180005; -- Darkmoon Faire Wagon Loaded
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180026; -- Darkmoon Faire Signpost
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180064; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180065; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180066; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180067; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180068; -- Alliance Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180069; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180071; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180074; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180075; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180077; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180078; -- Horde Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180079; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180085; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180087; -- Stable Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180088; -- Blacksmith Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180091; -- Mine Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180095; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180097; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180100; -- Alliance Banner Aura
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180101; -- Horde Banner Aura
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180102; -- Neutral Banner Aura
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180218; -- Arathi Basin Pumpkin
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180219; -- Arathi Basin Pumpkin Patch
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180220; -- Arathi Basin Bone01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180222; -- Arathi Basin Bone02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180223; -- Arathi Basin BlastedLandsSkull01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180224; -- Arathi Basin BlastedLandsBonePile02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180225; -- Arathi Basin BlastedLandsBonePile03
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180226; -- Arathi Basin Doomweed01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180227; -- Arathi Basin Gloomweed01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180419; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180420; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=180424; -- Alterac Valley Gate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181071; -- Ysida's Cage
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181766; -- Doodad_Hellfire_DW_PrisonEntry01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181811; -- Doodad_Hellfire_DW_PrisonEntry02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181812; -- Doodad_Hellfire_DW_PrisonEntry03
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181813; -- Prison Cell Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181814; -- Prison Cell Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181815; -- Prison Cell Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181816; -- Prison Cell Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181817; -- Prison Cell Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181818; -- Prison Cell Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181819; -- Doodad_Hellfire_DW_PrisonEntry04
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181820; -- Prison Cell Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181821; -- Prison Cell Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181822; -- Doodad_Hellfire_DW_PrisonEntry05
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181823; -- Doodad_Hellfire_DW_SummonDoor01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181925; -- Doodad_Hellfire_DW_SmallFloor_Crack04onoff
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182090; -- Vector Coil Fire (L)
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182222; -- Bomb Wagon
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182266; -- Destroyed Wyvern Roost
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182267; -- Wyvern Roost
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182272; -- Bomb Wagon
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182273; -- Bomb Wagon
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182274; -- Bomb Wagon
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182275; -- Destroyed Wyvern Roost
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182276; -- Destroyed Wyvern Roost
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182277; -- Destroyed Wyvern Roost
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182280; -- Wyvern Roost
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182281; -- Wyvern Roost
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=182282; -- Wyvern Roost
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=183051; -- Sethekk Cage
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=183398; -- Doodad_Auchindoun_Door_Swinging01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=183401; -- Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=183402; -- Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=183411; -- Terokkar Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=183412; -- Terokkar Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=183414; -- Terokkar Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=184212; -- Coilfang Resevoir Waterfall
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=184246; -- Heavy Iron Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=185123; -- Lever
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186217; -- BREWFEST - Coming Soon!
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186566; -- Dragonflayer Cage
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186567; -- Dragonflayer Cage
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186608; -- Giant Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186612; -- Giant Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186691; -- Doodad_VR_ForgeFire_Third
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186692; -- Doodad_VR_ForgeFire_First
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186693; -- Doodad_VR_ForgeFire_Second
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186694; -- Giant Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186737; -- Brewfest Wagon Loaded
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186756; -- Giant Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186805; -- Hippogryph Nest
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=186807; -- Broken Cart
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=187703; -- Kvaldir Inferno
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=187707; -- Mist of the Ancient Mariner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=187884; -- Evanor's Prison
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=188072; -- Ice Stone Mount
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=188081; -- Sanctum Planetarium
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=188458; -- Seer of Zeb'Halak
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=188554; -- Dun Argol Cage
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=188596; -- Loken's Pedestal
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=188706; -- Wooden Cage
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=189299; -- Ritual Crystal
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=189300; -- Ritual Crystal
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=189301; -- Ritual Crystal
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=189302; -- Ritual Crystal
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=189310; -- Venture Bay Lighthouse
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=189975; -- Doodad_DT_bigDoor01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=189977; -- Brittle Cage
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=189986; -- Dragon Cage
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190192; -- Gate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190402; -- Blaze
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190475; -- Wintergrasp NE Factory Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190487; -- Wintergrasp NW Factory Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190538; -- Argent Crusade Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190568; -- Light's Point Tower
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190569; -- Acherus Lightning
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190570; -- Burning Blaze
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190574; -- Zul'Drak Stoneface 01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190594; -- Zul'Drak Skull Pile 02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190647; -- Corpses
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190687; -- Wood Pile
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190722; -- Gate of the Green Emerald
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190723; -- Gate of the Purple Amethyst
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190724; -- Gate of the Blue Sapphire
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190726; -- Gate of the Red Sun
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190727; -- Gate of the Yellow Moon
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190752; -- Massive Seaforium Charge
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190763; -- Defender's Portal
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190784; -- Zol'Maz Gate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190789; -- 190789
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190799; -- 190799
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190800; -- 190800
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190859; -- 190859
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190860; -- 190860
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190861; -- 190861
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190862; -- 190862
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190863; -- 190863
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190864; -- 190864
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190865; -- 190865
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190866; -- 190866
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190867; -- 190867
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190868; -- 190868
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190869; -- 190869
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190870; -- 190870
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190871; -- 190871
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190872; -- 190872
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190873; -- 190873
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190874; -- 190874
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190875; -- 190875
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190876; -- 190876
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190877; -- 190877
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190878; -- 190878
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190879; -- 190879
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190880; -- 190880
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190881; -- 190881
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190882; -- 190882
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190883; -- 190883
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190884; -- 190884
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190885; -- 190885
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190886; -- 190886
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190887; -- 190887
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190888; -- 190888
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190889; -- 190889
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190890; -- 190890
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190891; -- 190891
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190892; -- 190892
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190893; -- 190893
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190898; -- 190898
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190899; -- 190899
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190900; -- 190900
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190901; -- 190901
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190902; -- 190902
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190903; -- 190903
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190904; -- 190904
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190905; -- 190905
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190906; -- 190906
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190907; -- 190907
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190908; -- 190908
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190909; -- 190909
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190910; -- 190910
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190911; -- 190911
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190930; -- 190930
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190931; -- 190931
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190932; -- 190932
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190933; -- 190933
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=190934; -- 190934
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191018; -- Akali Chain Anchor
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191148; -- 191148
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191166; -- 191166
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191167; -- 191167
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191169; -- 191169
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191171; -- 191171
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191172; -- 191172
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191173; -- 191173
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191178; -- 191178
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191191; -- 191191
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191292; -- Doodad_UL_Ulduar_doors06
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191293; -- Doodad_UL_Ulduar_doors04
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191294; -- Doodad_UL_Ulduar_doors05
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191295; -- Doodad_UL_Ulduar_doors03
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191296; -- Doodad_UL_Ulduar_doors02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191311; -- Flagpole
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191324; -- Doodad_UL_Ulduar_doors02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191325; -- Doodad_UL_Ulduar_doors07
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191326; -- Doodad_UL_Ulduar_doors05
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191327; -- Doodad_UL_Ulduar_doors06
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191328; -- Doodad_UL_Ulduar_doors04
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191351; -- Spotlight
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191364; -- Doodad_Nox_portal_orange_bossroom01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191369; -- Cosmetic Object - Fire Large
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191415; -- Doodad_UL_Ulduar_doors09
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191416; -- Doodad_UL_Ulduar_doors10
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191459; -- Doodad_UL_Ulduar_doors07
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191463; -- Lamp
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191503; -- Anvil
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191504; -- Anvil
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191505; -- Forge
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191506; -- Anvil
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191507; -- Anvil
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191508; -- Forge
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191527; -- Doodad_UL_SkyRoom_Floor01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191538; -- Doodad_Nox_portal_purple_bossroom01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191539; -- Doodad_Nox_portal_purple_bossroom17
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191540; -- Alchemy Lab
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191541; -- Alchemy Lab
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191549; -- Nidavelir Mole Machine
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191552; -- Large Nidavelir Mole Machine
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191554; -- Skeletal Gryphon Roost
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191556; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191557; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191558; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191559; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191560; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191562; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191563; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191564; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191565; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191566; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191575; -- Defender's Portal
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191606; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191612; -- Eye of Acherus (Flavor)
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191613; -- Eye of Acherus (Flavor Trap)
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191614; -- Argent Stand Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191669; -- Tribunal Head - Center
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191670; -- Tribunal Head - Right
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191671; -- Tribunal Head - Left
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191722; -- Cell
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191723; -- Prison Seal
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191745; -- Doodad_Utgarde_Mirror_FX01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191746; -- Runeforge
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191747; -- Runeforge
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=191748; -- Runeforge
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192070; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192092; -- Lamp
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192094; -- Lamp
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192134; -- Norgannon's Binding
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192166; -- 192166
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192173; -- Doodad_VR_Portcullis01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192174; -- Doodad_VR_Portculliswithchain01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192175; -- Harpoon Launcher
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192176; -- Harpoon Launcher
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192177; -- Harpoon Launcher
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192236; -- Taldaram Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192244; -- Argent Vanguard Support
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192245; -- Argent Vanguard Support
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192246; -- Argent Vanguard Tower
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192247; -- Argent Vanguard Tower
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192248; -- Argent Vanguard Tower
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192249; -- Argent Vanguard Tower
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192250; -- Argent Vanguard Support
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192251; -- Argent Vanguard Support
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192387; -- Doodad_org_arena_firedoor02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192388; -- Doodad_org_arena_firedoor01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192391; -- Doodad_org_arena_yellow_fence01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192392; -- Doodad_org_arena_red_fence01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192395; -- Doodad_Azjol_Door_Small_04
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192396; -- Doodad_Azjol_Door_Boss_01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192397; -- Doodad_Azjol_Door_Boss_02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192398; -- Doodad_Azjol_Door_Boss_03
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192549; -- Chamber of Ancient Relics
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192564; -- Doodad_GunDrak_Key_Snake05
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192565; -- Doodad_GunDrak_Key_Mammoth01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192566; -- Doodad_GunDrak_Key_Rhino01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192567; -- Doodad_GunDrak_Key_Troll01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192568; -- Gal'darah Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192569; -- Eck Underwater Grate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192579; -- 192579
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192626; -- Wintergrasp NE Factory Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192627; -- Wintergrasp NW Factory Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192632; -- Eck Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192633; -- Doodad_GunDrak_Collision_01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192654; -- Doodad_UL_Throne_02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192734; -- Doodad_ZulDrak_Alter02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192735; -- Alter
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192736; -- Alter
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192741; -- Fence
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192806; -- 192806
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192807; -- 192807
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192808; -- 192808
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192809; -- 192809
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192810; -- 192810
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192811; -- 192811
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192812; -- 192812
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192813; -- 192813
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192814; -- 192814
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192815; -- 192815
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192816; -- 192816
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192817; -- 192817
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192819; -- Defender's Portal
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192934; -- 192934
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192935; -- 192935
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192936; -- 192936
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192938; -- 192938
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192953; -- 192953
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192954; -- 192954
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192955; -- 192955
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192956; -- 192956
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192957; -- 192957
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192958; -- 192958
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192959; -- 192959
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192960; -- 192960
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192961; -- 192961
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192962; -- 192962
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192963; -- 192963
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192964; -- 192964
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192965; -- 192965
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192966; -- 192966
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192967; -- 192967
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192968; -- 192968
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192969; -- 192969
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192970; -- 192970
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192971; -- 192971
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192972; -- 192972
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192973; -- 192973
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192974; -- 192974
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192975; -- 192975
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192976; -- 192976
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192977; -- 192977
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192978; -- 192978
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192979; -- 192979
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192980; -- 192980
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192981; -- 192981
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192982; -- 192982
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192983; -- 192983
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192985; -- 192985
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192986; -- 192986
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192987; -- 192987
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192988; -- 192988
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192989; -- 192989
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192990; -- 192990
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192991; -- 192991
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192992; -- 192992
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192993; -- 192993
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192994; -- 192994
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192995; -- 192995
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192996; -- 192996
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192997; -- 192997
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=192999; -- 192999
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193000; -- 193000
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193001; -- 193001
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193002; -- 193002
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193027; -- War Horn Base
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193057; -- Ahn'kahet Brazier
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193208; -- Doodad_DT_bigDoor01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193209; -- Doodad_DT_bigDoor02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193471; -- 193471
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193562; -- Icecrown - Nexus - Dragon Egg - Blue Dragon Egg 01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193563; -- Icecrown - Nexus - Dragon Egg - Blue Dragon Egg 02
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193564; -- Doodad_Azjol_Platform_FX_01
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193565; -- Ymirheim Peak Skulls
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193566; -- VR_StandingLight_Snow_Blue
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193622; -- Grimkor's Orb
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193906; -- Sjonnir Console
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=193995; -- Dragon Cage Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194005; -- Shadow Council Torch
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194237; -- Drak'Mar Brazier
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194239; -- Drak'Mar Lily Pad
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194501; -- Sen'jin Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194578; -- Doodad_org_arena_ivory_pillar_collision03
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194579; -- Doodad_org_arena_pillar_collision03
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194580; -- Doodad_org_arena_axe_pillar_collision03
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194581; -- Doodad_org_arena_lightning_pillar_collision03
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194589; -- Exodar Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194590; -- Undercity Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194591; -- Silvermoon City Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194592; -- Gnomeregan Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194593; -- Ironforge Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194594; -- Stormwind Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194595; -- Darnassus Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194596; -- Sen'jin Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194597; -- Orgrimmar Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194598; -- Thunder Bluff Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194599; -- Stormwind Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194600; -- Ironforge Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194601; -- Exodar Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194602; -- Darnassus Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194603; -- Gnomeregan Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194604; -- Thunder Bluff Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194605; -- Silvermoon City Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194606; -- Sen'jin Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194607; -- Orgrimmar Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194608; -- Undercity Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194827; -- Bonfire
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194839; -- 194839
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194840; -- 194840
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194841; -- 194841
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194842; -- 194842
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194843; -- 194843
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194849; -- 194849
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194850; -- 194850
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194851; -- 194851
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194852; -- 194852
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194853; -- 194853
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194959; -- Wintergrasp SE Factory Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194960; -- Wintergrasp SE Factory Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194962; -- Wintergrasp SW Factory Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=194963; -- Wintergrasp SW Factory Banner
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195131; -- Flagpole
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195235; -- Seaforium Bomb
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195305; -- Stormforged Mole Machine
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195310; -- Black Cage
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195313; -- Teleporter
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195314; -- Teleporter
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195331; -- Huge Seaforium Bomb
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195332; -- Huge Seaforium Bombs
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195333; -- Huge Seaforium Bombs
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195439; -- Flagpole
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195485; -- Web Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195494; -- Horde Gate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195495; -- Horde Gate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195496; -- Horde Gate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195589; -- West Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195590; -- South Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195591; -- North Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195597; -- Main Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195647; -- Main Gate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195648; -- East Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195649; -- South Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195650; -- North Portcullis
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195698; -- Alliance Gate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195699; -- Alliance Gate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=195700; -- Alliance Gate
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=201370; -- Green Plague Monster Entrance
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=201371; -- Orange Plague Monster Entrance
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=201372; -- Scientist Entrance
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=201584; -- Drink Me!
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=201825; -- Saurfang's Door
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=202391; -- Forge
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=202392; -- Forge
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=202393; -- Forge
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=202394; -- Forge
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=202924; -- Celebration Torch
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=202925; -- Celebration Lights
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=202926; -- Celebration Bonfire
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=202931; -- -Unknown-
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=202932; -- Totem Offering
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=177192; -- Door
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=180075; -- Contested Banner
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=181921; -- Doodad_Hellfire_DW_LargeFloor_Crack02onoff
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=181922; -- Doodad_Hellfire_DW_LargeFloor_Crack03
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=181923; -- Doodad_Hellfire_DW_LargeFloor_Crack04onoff
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=181924; -- Doodad_Hellfire_DW_SmallFloor_Crack03onoff
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=181926; -- Doodad_Hellfire_DW_SmallFloor_Crack05onoff
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=181927; -- Doodad_Hellfire_DW_SmallFloor_Crack06onoff
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=190784; -- Zol'Maz Gate
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=192068; -- Lamp Post
+UPDATE `gameobject_template` SET `flags`=33 WHERE `entry`=201385; -- Ice Wall
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=124367; -- Temple Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=13965; -- Factory Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=16399; -- Foundry Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=16400; -- Mast Room Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=170558; -- The Lyceum
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=175353; -- King's Square Gate
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=175356; -- Gauntlet Gate
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=175357; -- Gauntlet Gate
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=177217; -- Gordok Inner Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=177219; -- Gordok Courtyard Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=177221; -- Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=179549; -- Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=179550; -- Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=181119; -- Deathknight Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=183049; -- Main Chambers Door
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=183294; -- The Shadow Labyrinth
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=187764; -- Rohendor, The Second Gate
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=187765; -- Archonisus, The Third Gate
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=187766; -- Agamath, The First Gate
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=201848; -- Halls of Reflection Portcullis
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=184415; -- Portal Kaalez
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=186419; -- Wrecked Row Boat
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=187565; -- Elder Atkanok
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=188261; -- Battered Journal
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=188419; -- Elder Mana'loa
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=188653; -- Bor's Hammer
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=188655; -- The Kur Drakkar
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=188656; -- The Serpent's Maw
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=188657; -- Bor's Anvil
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=190522; -- Drakkari Pedestal
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=190535; -- Zim'Abwa
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=190555; -- Nerubian Crater
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=190602; -- Zim'Torga
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=190618; -- Blue Cauldron
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=190619; -- Purple Cauldron
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=190620; -- Red Cauldron
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=190630; -- Green Cauldron
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=190657; -- Zim'Rhuk
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=190917; -- Abandoned Mail
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=191609; -- Eye of Acherus Control Mechanism
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=191697; -- Warsong Granary
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=191698; -- Torp's Farm
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=191699; -- Warsong Slaughterhouse
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=191728; -- Wanted!
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=191766; -- Orders From Drakuru
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=191778; -- General's Weapon Rack
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=191779; -- General's Weapon Rack
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=192079; -- Hodir's Spear
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=192080; -- Hodir's Helm
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=192524; -- Arngrim the Insatiable
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=193003; -- Pile of Crusader Skulls
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=193028; -- War Horn of Jotunheim
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=193768; -- Chulo the Mad's Totem
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=193769; -- Gawanil's Totem
+UPDATE `gameobject_template` SET `flags`=36 WHERE `entry`=193770; -- Kutube'sa's Totem
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=131474; -- The Discs of Norgannon
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=138492; -- Shards of Myzrael
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=141812; -- Stone of Binding
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142071; -- Egg-O-Matic
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142122; -- Wanted Poster
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142194; -- Pirate's Treasure!
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142343; -- Uldum Pedestal
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142487; -- The Sparklematic 5200
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142703; -- Venom Bottle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142704; -- Venom Bottle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142705; -- Venom Bottle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142706; -- Venom Bottle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142707; -- Venom Bottle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142712; -- Venom Bottle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142713; -- Venom Bottle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142714; -- Venom Bottle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=142958; -- Feralas: A History
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=148504; -- A Conspicuous Gravestone
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=148512; -- Essence Font
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=149047; -- Torch of Retribution
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=149502; -- Hoard of the Black Dragonflight
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=150075; -- Wanted Poster
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=152097; -- Belnistrasz's Brazier
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=1561; -- Sealed Crate
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=156561; -- Wanted Poster
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=1585; -- Explosive Charge
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=1586; -- Crate of Candles
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=161504; -- A Small Pack
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=161505; -- A Wrecked Raft
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=164689; -- Monument of Franclorn Forgewright
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=164867; -- WANTED
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=164868; -- KILL ON SIGHT
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=169217; -- Un'Goro Flat Rock
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=17182; -- Buzzbox 827
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=17184; -- Buzzbox 323
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=1722; -- Locked ball and chain
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=1728; -- Dusty Rug
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=173284; -- Corrupted Whipper Root
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=174594; -- Corrupted Songflower
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=174595; -- Corrupted Songflower
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=174597; -- Corrupted Songflower
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=174601; -- Corrupted Windblossom
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=174603; -- Corrupted Windblossom
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=174607; -- Corrupted Whipper Root
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=174682; -- Beware of Pterrordax
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=174713; -- Corrupted Songflower
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175084; -- The Sparklematic 5200
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175085; -- The Sparklematic 5200
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175226; -- Beached Sea Creature
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175227; -- Beached Sea Creature
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175230; -- Beached Sea Creature
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175320; -- WANTED: Murkdeep!
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175586; -- Jaron's Wagon
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175607; -- Dark Iron Dwarf Corpse
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175608; -- Dark Iron Dwarf Corpse
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175609; -- Dark Iron Dwarf Corpse
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=175704; -- Singed Letter
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176090; -- Human Remains
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176091; -- Deadwood Cauldron
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176115; -- Wanted Poster - Arnak Grimtotem
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176190; -- Beached Sea Turtle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176191; -- Beached Sea Turtle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176196; -- Beached Sea Turtle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176197; -- Beached Sea Turtle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176198; -- Beached Sea Turtle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=1761; -- Hillsbrad Proclamation
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176248; -- Premium Siabi Tobacco
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176317; -- The Argent Hold
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176392; -- Scourge Cauldron
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=1763; -- WANTED
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=176631; -- Menethil's Gift
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=1767; -- Helcular's Grave
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=177544; -- Joseph's Chest
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=177667; -- Torn Scroll
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=177675; -- Mound of Dirt
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=178090; -- Marla's Grave
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=178125; -- Lotharian Lotus
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=179004; -- Drek'Thar's Scrolls
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=179005; -- Drek'Thar's Scrolls
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=179437; -- Wanted: ORCS!
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=179438; -- Wanted: DWARVES!
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=179517; -- Treasure of the Shen'dralar
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=179827; -- Wanted/Missing/Lost & Found
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=179880; -- Drakkisath's Brand
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=180025; -- Mysterious Eastvale Haystack
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=180448; -- Wanted Poster: Deathclasp
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=180570; -- Keg
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=180916; -- Duskwither Spire Power Source
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=180918; -- Wanted: Thaelis the Hungerer
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=180919; -- Duskwither Spire Power Source
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=180920; -- Duskwither Spire Power Source
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=181011; -- Magister Duskwither's Journal
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=181250; -- Raw Meat Rack
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=181251; -- Smoked Meat Rack
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=181698; -- Voidstone
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=182062; -- Insect Species of Outland
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=182065; -- A Field Guide to Seeds
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=182796; -- Bleeding Hollow Attack Plans
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=182934; -- Glyph Inscribed Obelisk
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=183340; -- Imarion's Shield
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=183341; -- Makha's Shield
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=183435; -- Marksman Regiment's Cooking Pot
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=183940; -- Moh's Cage
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=183941; -- Jakk's Cage
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=184115; -- Arelion's Knapsack
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=184466; -- Metal Coffer
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=184477; -- Abandoned Wagon
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=184796; -- Rotten Arakkoa Egg
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186264; -- Missing: Kyle
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186420; -- Syndicate Documents
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186565; -- Ceremonial Dragonflayer Harpoon
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186616; -- Sprung Trap
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186656; -- Cauldron of Vrykul Blood
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186657; -- Harris's Plague Samples
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186659; -- Water Plant
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186660; -- Water Plant
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186661; -- Water Plant
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186770; -- Sunken Boat
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186935; -- Doodad_VR_WallMap_01
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186944; -- Dirt Mound
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=186949; -- School of Tasty Reef Fish
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=187273; -- Suspicious Hoofprint
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=187655; -- Nerub'ar Egg Sac
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=187851; -- Cultist Shrine
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=187875; -- Salrand's Lockbox
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=187981; -- Wolf Droppings
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=187984; -- West Point Station Valve
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=187996; -- Caribou Trap
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=187998; -- Caribou Trap
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=187999; -- Caribou Trap
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188003; -- Caribou Trap
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188004; -- Caribou Trap
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188007; -- Caribou Trap
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188008; -- Caribou Trap
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188085; -- Plagued Grain
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188101; -- Coldarra Geological Monitor
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188102; -- Coldarra Geological Monitor
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188103; -- Coldarra Geological Monitor
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188106; -- West Point Station Valve
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188163; -- Bell Rope
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188365; -- Heart of the Ancients
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188423; -- Burning Brazier
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188463; -- Anub'ar Mechanism
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188667; -- Amberseed
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188699; -- Strange Ore
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188711; -- Wintergarde Mine Entrance
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=188713; -- Abbey Bell Rope
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=189290; -- School of Northern Salmon
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=189304; -- Forgotten Ruins
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=189311; -- Flesh-bound Tome
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=189312; -- Scourge Communicator
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=189313; -- Wolfsbane Root
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=189972; -- Ruuna's Crystal Ball
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190191; -- Frostmourne Altar
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190507; -- Offering Bowl
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190510; -- Captured Jormungar Spawn
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190512; -- Vrykul Harpoon Gun
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190550; -- Ancient Dirt Mound
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190584; -- Battle-worn Sword
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190635; -- Pressure Valve
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190691; -- Saronite Arrow
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190695; -- Heb'Jin's Drum
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190768; -- Timeworn Coffer
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=191090; -- Elder Takret
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=191760; -- Inventor's Library Console
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=191761; -- Prototype Console
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=191814; -- Granite Boulder
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=191815; -- Granite Boulder
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=191842; -- Frostgut's Altar
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=191844; -- Enchanted Earth
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=191845; -- Enchanted Earth
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192060; -- Fjorn's Anvil
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192072; -- Harpoon Crate
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192181; -- The Heart of the Storm
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192495; -- Third History Scroll
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192542; -- Taunka Artifact
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192543; -- Taunka Artifact
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192544; -- Taunka Artifact
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192545; -- Taunka Artifact
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192826; -- Drakkari History Tablet
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192833; -- Bridenbrad's Possessions
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192914; -- Abomination Lab Orb Stand
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192915; -- Flesh Giant Lab Orb Stand
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192916; -- Cauldron Area Orb Stand
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192932; -- Embalming Fluid
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192933; -- Blood Orb
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192941; -- Untarnished Silver Bar
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192942; -- Shiny Bauble
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192943; -- Shiny Bauble
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192944; -- Golden Goblet
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=192945; -- Jade Statue
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=193051; -- Nerubian Scourge Egg
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=193059; -- Vrykul Weapons
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=193060; -- Grasping Arm
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=193195; -- Pulsing Crystal
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=193400; -- Saronite Bomb Stack
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=194537; -- Sir Wendell's Grave
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=194538; -- Connall's Grave
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=194539; -- Lorien's Grave
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=195186; -- Black Knight's Grave
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=195308; -- Mysterious Snow Mound
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=195309; -- Mysterious Snow Mound
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=195352; -- Bucket of Fresh Chum
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=195353; -- Bucket of Fresh Chum
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2008; -- Dangerous!
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=201299; -- Unmentionables
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=201300; -- Shirts
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=201301; -- Pants
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=201742; -- Runeforge
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=201855; -- Water Bucket
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=201934; -- Pants
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=201935; -- Shirts
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=201936; -- Unmentionables
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=20359; -- Egg of Onyxia
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2076; -- Bubbling Cauldron
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2083; -- Bloodsail Correspondence
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=20985; -- Loose Dirt
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=20992; -- Black Shield
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=21042; -- Theramore Guard Badge
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2289; -- Ruined Lifeboat
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=24776; -- Yuriv's Tombstone
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2556; -- Cortello's Treasure
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=256; -- WANTED
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=261; -- Damaged Crate
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2652; -- Ebenezer Rustlocke's Corpse
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2657; -- Legends of the Earth
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2688; -- Keystone
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2702; -- Stone of Inner Binding
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2703; -- Trollbane's Tomb
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=270; -- Unguarded Thunder Ale Barrel
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2713; -- Wanted Board
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=2734; -- Waterlogged Chest
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=287; -- Bookie Herod's Records
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=288; -- Bookie Herod's Strongbox
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=31; -- Old Lion Statue
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=34; -- Old Jug
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=35; -- Captain's Footlocker
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=3643; -- Old Footlocker
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=36; -- Broken Barrel
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=3972; -- WANTED
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=4072; -- Main Control Valve
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=4141; -- Control Console
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=47; -- Wanted: Lieutenant Fangore
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=51708; -- Eliza's Grave Dirt
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=55; -- A half-eaten body
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=5619; -- Flawed Power Stone
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=5620; -- Flawed Power Stones
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=5621; -- Flawed Power Stones
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=56; -- Rolf's corpse
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=59; -- Mound of loose dirt
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=60; -- Wanted: Gath'Ilzogg
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=61935; -- Regulator Valve
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=61936; -- Fuel Control Valve
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=61; -- A Weathered Grave
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=68; -- Wanted Poster
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=711; -- Wanted!
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=76; -- An Empty Jar
+UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=89931; -- Bath'rah's Cauldron
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=175611; -- Iron Gate
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=175612; -- Iron Gate
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=175613; -- Iron Gate
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=175614; -- Iron Gate
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=180100; -- Alliance Banner Aura
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=183104; -- Terokkar Banner
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=184125; -- Main Chambers Access Panel
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=184126; -- Main Chambers Access Panel
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=189299; -- Ritual Crystal
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=189300; -- Ritual Crystal
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=189302; -- Ritual Crystal
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=193615; -- Intro Activation Crystal
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=194557; -- Runed Stone Door
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=194558; -- Runed Stone Door
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=194569; -- Ulduar Teleporter
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=195315; -- Teleporter
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=195316; -- Teleporter
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=202235; -- Scourge Transporter
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=202242; -- Scourge Transporter
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=202243; -- Scourge Transporter
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=202244; -- Scourge Transporter
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=202245; -- Scourge Transporter
+UPDATE `gameobject_template` SET `flags`=49 WHERE `entry`=201759; -- The Forge of Souls Portcullis
+UPDATE `gameobject_template` SET `size`=1 WHERE `entry`=190169; -- Tiger Lily
+UPDATE `gameobject_template` SET `size`=1 WHERE `entry`=190173; -- Frozen Herb
+UPDATE `gameobject_template` SET `size`=1 WHERE `entry`=190174; -- Frozen Herb
+UPDATE `gameobject_template` SET `size`=1 WHERE `entry`=190175; -- Frozen Herb
diff --git a/sql/updates/world/2014_09_06_04_world_creature_model_info.sql b/sql/updates/world/2014_09_06_04_world_creature_model_info.sql
new file mode 100644
index 00000000000..7774c93560d
--- /dev/null
+++ b/sql/updates/world/2014_09_06_04_world_creature_model_info.sql
@@ -0,0 +1,1725 @@
+DELETE FROM `creature_model_info` WHERE `modelid`=29414;
+INSERT INTO `creature_model_info` (`modelid`, `bounding_radius`, `combat_reach`, `gender`) VALUES
+(29414, 0.35, 1, 0); -- 29414
+
+UPDATE `creature_model_info` SET `bounding_radius`=0.06, `combat_reach`=0.3 WHERE `modelid`=20026; -- 20026
+UPDATE `creature_model_info` SET `bounding_radius`=0.06, `combat_reach`=0.3 WHERE `modelid`=20037; -- 20037
+UPDATE `creature_model_info` SET `bounding_radius`=0.0775, `combat_reach`=1.5 WHERE `modelid`=27194; -- 27194
+UPDATE `creature_model_info` SET `bounding_radius`=0.0875, `combat_reach`=0.25 WHERE `modelid`=9556; -- 9556
+UPDATE `creature_model_info` SET `bounding_radius`=0.1, `combat_reach`=0.125 WHERE `modelid`=5560; -- 5560
+UPDATE `creature_model_info` SET `bounding_radius`=0.1085, `combat_reach`=3.5 WHERE `modelid`=30808; -- 30808
+UPDATE `creature_model_info` SET `bounding_radius`=0.118, `combat_reach`=0.5 WHERE `modelid`=7554; -- 7554
+UPDATE `creature_model_info` SET `bounding_radius`=0.12, `combat_reach`=0.4 WHERE `modelid`=22423; -- 22423
+UPDATE `creature_model_info` SET `bounding_radius`=0.124, `combat_reach`=2.4 WHERE `modelid`=30807; -- 30807
+UPDATE `creature_model_info` SET `bounding_radius`=0.15, `combat_reach`=0.25 WHERE `modelid`=30995; -- 30995
+UPDATE `creature_model_info` SET `bounding_radius`=0.15, `combat_reach`=1.5 WHERE `modelid`=24684; -- 24684
+UPDATE `creature_model_info` SET `bounding_radius`=0.153, `combat_reach`=1 WHERE `modelid`=15181; -- 15181
+UPDATE `creature_model_info` SET `bounding_radius`=0.155, `combat_reach`=0.5 WHERE `modelid`=25390; -- 25390
+UPDATE `creature_model_info` SET `bounding_radius`=0.155, `combat_reach`=0.5 WHERE `modelid`=25391; -- 25391
+UPDATE `creature_model_info` SET `bounding_radius`=0.155, `combat_reach`=0.5 WHERE `modelid`=27754; -- 27754
+UPDATE `creature_model_info` SET `bounding_radius`=0.155, `combat_reach`=1.5 WHERE `modelid`=27193; -- 27193
+UPDATE `creature_model_info` SET `bounding_radius`=0.155, `combat_reach`=3.85 WHERE `modelid`=30805; -- 30805
+UPDATE `creature_model_info` SET `bounding_radius`=0.1735, `combat_reach`=0.75 WHERE `modelid`=850; -- 850
+UPDATE `creature_model_info` SET `bounding_radius`=0.173611, `combat_reach`=0.75 WHERE `modelid`=27579; -- 27579
+UPDATE `creature_model_info` SET `bounding_radius`=0.18, `combat_reach`=1.8 WHERE `modelid`=30804; -- 30804
+UPDATE `creature_model_info` SET `bounding_radius`=0.187, `combat_reach`=0.15 WHERE `modelid`=30996; -- 30996
+UPDATE `creature_model_info` SET `bounding_radius`=0.1932712, `combat_reach`=0.4417627 WHERE `modelid`=6368; -- 6368
+UPDATE `creature_model_info` SET `bounding_radius`=0.1945763, `combat_reach`=0.4447458 WHERE `modelid`=6368; -- 6368
+UPDATE `creature_model_info` SET `bounding_radius`=0.195, `combat_reach`=0.65 WHERE `modelid`=22425; -- 22425
+UPDATE `creature_model_info` SET `bounding_radius`=0.204, `combat_reach`=0.9 WHERE `modelid`=24757; -- 24757
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10480; -- 10480
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10486; -- 10486
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10490; -- 10490
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10491; -- 10491
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10499; -- 10499
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10503; -- 10503
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10506; -- 10506
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10507; -- 10507
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10510; -- 10510
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10511; -- 10511
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10514; -- 10514
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10515; -- 10515
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=10534; -- 10534
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=15173; -- 15173
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=15175; -- 15175
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=15193; -- 15193
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=15967; -- 15967
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=21818; -- 21818
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=25048; -- 25048
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=26168; -- 26168
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=26180; -- 26180
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=26191; -- 26191
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=27889; -- 27889
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=29572; -- 29572
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=29638; -- 29638
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=29760; -- 29760
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=29897; -- 29897
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=30049; -- 30049
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=30050; -- 30050
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=30370; -- 30370
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=30379; -- 30379
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=30632; -- 30632
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=30666; -- 30666
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=30669; -- 30669
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=30774; -- 30774
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=4023; -- 4023
+UPDATE `creature_model_info` SET `bounding_radius`=0.208, `combat_reach`=1.5 WHERE `modelid`=50; -- 50
+UPDATE `creature_model_info` SET `bounding_radius`=0.21, `combat_reach`=0.48 WHERE `modelid`=28819; -- 28819
+UPDATE `creature_model_info` SET `bounding_radius`=0.213678, `combat_reach`=0.9157627 WHERE `modelid`=7894; -- 7894
+UPDATE `creature_model_info` SET `bounding_radius`=0.2138885, `combat_reach`=0.7 WHERE `modelid`=22597; -- 22597
+UPDATE `creature_model_info` SET `bounding_radius`=0.2184, `combat_reach`=1.575 WHERE `modelid`=26173; -- 26173
+UPDATE `creature_model_info` SET `bounding_radius`=0.2205, `combat_reach`=0.945 WHERE `modelid`=1955; -- 1955
+UPDATE `creature_model_info` SET `bounding_radius`=0.2288, `combat_reach`=1.65 WHERE `modelid`=26169; -- 26169
+UPDATE `creature_model_info` SET `bounding_radius`=0.2288, `combat_reach`=1.65 WHERE `modelid`=26181; -- 26181
+UPDATE `creature_model_info` SET `bounding_radius`=0.2288, `combat_reach`=1.65 WHERE `modelid`=26192; -- 26192
+UPDATE `creature_model_info` SET `bounding_radius`=0.2288, `combat_reach`=1.65 WHERE `modelid`=29533; -- 29533
+UPDATE `creature_model_info` SET `bounding_radius`=0.2288, `combat_reach`=1.65 WHERE `modelid`=29534; -- 29534
+UPDATE `creature_model_info` SET `bounding_radius`=0.2325, `combat_reach`=5.625 WHERE `modelid`=27067; -- 27067
+UPDATE `creature_model_info` SET `bounding_radius`=0.2337288, `combat_reach`=0.5342373 WHERE `modelid`=6368; -- 6368
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1 WHERE `modelid`=911; -- 911
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=12972; -- 12972
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=13323; -- 13323
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=13331; -- 13331
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=13431; -- 13431
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=13435; -- 13435
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=13437; -- 13437
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=19181; -- 19181
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=21868; -- 21868
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=23196; -- 23196
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=24308; -- 24308
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=25922; -- 25922
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=29658; -- 29658
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=29902; -- 29902
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=30382; -- 30382
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=30383; -- 30383
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=30675; -- 30675
+UPDATE `creature_model_info` SET `bounding_radius`=0.236, `combat_reach`=1.5 WHERE `modelid`=31850; -- 31850
+UPDATE `creature_model_info` SET `bounding_radius`=0.2392, `combat_reach`=1.725 WHERE `modelid`=26172; -- 26172
+UPDATE `creature_model_info` SET `bounding_radius`=0.24, `combat_reach`=0.9 WHERE `modelid`=12241; -- 12241
+UPDATE `creature_model_info` SET `bounding_radius`=0.245, `combat_reach`=0.56 WHERE `modelid`=28820; -- 28820
+UPDATE `creature_model_info` SET `bounding_radius`=0.252, `combat_reach`=0.576 WHERE `modelid`=14661; -- 14661
+UPDATE `creature_model_info` SET `bounding_radius`=0.2596, `combat_reach`=1.65 WHERE `modelid`=29527; -- 29527
+UPDATE `creature_model_info` SET `bounding_radius`=0.2596, `combat_reach`=1.65 WHERE `modelid`=29528; -- 29528
+UPDATE `creature_model_info` SET `bounding_radius`=0.2596, `combat_reach`=1.65 WHERE `modelid`=30064; -- 30064
+UPDATE `creature_model_info` SET `bounding_radius`=0.2635, `combat_reach`=1.5 WHERE `modelid`=15506; -- 15506
+UPDATE `creature_model_info` SET `bounding_radius`=0.2681, `combat_reach`=1.05 WHERE `modelid`=30793; -- 30793
+UPDATE `creature_model_info` SET `bounding_radius`=0.2754, `combat_reach`=1.35 WHERE `modelid`=586; -- 586
+UPDATE `creature_model_info` SET `bounding_radius`=0.28, `combat_reach`=1.2 WHERE `modelid`=4566; -- 4566
+UPDATE `creature_model_info` SET `bounding_radius`=0.2832, `combat_reach`=1.8 WHERE `modelid`=9868; -- 9868
+UPDATE `creature_model_info` SET `bounding_radius`=0.2832, `combat_reach`=1.8 WHERE `modelid`=9882; -- 9882
+UPDATE `creature_model_info` SET `bounding_radius`=0.2951387, `combat_reach`=1.275 WHERE `modelid`=27651; -- 27651
+UPDATE `creature_model_info` SET `bounding_radius`=0.3, `combat_reach`=0.6, `gender`=0 WHERE `modelid`=13069; -- 13069
+UPDATE `creature_model_info` SET `bounding_radius`=0.3, `combat_reach`=1 WHERE `modelid`=22452; -- 22452
+UPDATE `creature_model_info` SET `bounding_radius`=0.3, `combat_reach`=1 WHERE `modelid`=25144; -- 25144
+UPDATE `creature_model_info` SET `bounding_radius`=0.3, `combat_reach`=1.5 WHERE `modelid`=29363; -- 29363
+UPDATE `creature_model_info` SET `bounding_radius`=0.305, `combat_reach`=1 WHERE `modelid`=22412; -- 22412
+UPDATE `creature_model_info` SET `bounding_radius`=0.305555, `combat_reach`=1 WHERE `modelid`=16885; -- 16885
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10458; -- 10458
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10484; -- 10484
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10488; -- 10488
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10489; -- 10489
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10496; -- 10496
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10500; -- 10500
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10501; -- 10501
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10504; -- 10504
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10505; -- 10505
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10509; -- 10509
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10512; -- 10512
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10513; -- 10513
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10516; -- 10516
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10529; -- 10529
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10530; -- 10530
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10544; -- 10544
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10545; -- 10545
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10546; -- 10546
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10547; -- 10547
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10668; -- 10668
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=10674; -- 10674
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=14421; -- 14421
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=14530; -- 14530
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=1478; -- 1478
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=15172; -- 15172
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=15174; -- 15174
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=15194; -- 15194
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=15229; -- 15229
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=15688; -- 15688
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=15701; -- 15701
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=15702; -- 15702
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=15894; -- 15894
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=18867; -- 18867
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=18874; -- 18874
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=19185; -- 19185
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=19186; -- 19186
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=19340; -- 19340
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=19343; -- 19343
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=1976; -- 1976
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=21702; -- 21702
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=21706; -- 21706
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=21767; -- 21767
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=21862; -- 21862
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=21874; -- 21874
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=21875; -- 21875
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=21876; -- 21876
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=21877; -- 21877
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=21893; -- 21893
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=22340; -- 22340
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=22507; -- 22507
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=22531; -- 22531
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=22723; -- 22723
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=22830; -- 22830
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=23424; -- 23424
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=24420; -- 24420
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=24716; -- 24716
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=24981; -- 24981
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=24983; -- 24983
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=24987; -- 24987
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=24988; -- 24988
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=25037; -- 25037
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=25063; -- 25063
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=25117; -- 25117
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=25142; -- 25142
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=25433; -- 25433
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=26105; -- 26105
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=26178; -- 26178
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=26189; -- 26189
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=26247; -- 26247
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=26653; -- 26653
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=26744; -- 26744
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=27166; -- 27166
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=28538; -- 28538
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29243; -- 29243
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29491; -- 29491
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29570; -- 29570
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29571; -- 29571
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29603; -- 29603
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29636; -- 29636
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29637; -- 29637
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29644; -- 29644
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29648; -- 29648
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29649; -- 29649
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29650; -- 29650
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29758; -- 29758
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29759; -- 29759
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29762; -- 29762
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29896; -- 29896
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=29904; -- 29904
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30041; -- 30041
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30048; -- 30048
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=3015; -- 3015
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30376; -- 30376
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30387; -- 30387
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30636; -- 30636
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30667; -- 30667
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30670; -- 30670
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30716; -- 30716
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30773; -- 30773
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30884; -- 30884
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30908; -- 30908
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=30987; -- 30987
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31012; -- 31012
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31039; -- 31039
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31082; -- 31082
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31117; -- 31117
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31195; -- 31195
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31737; -- 31737
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31751; -- 31751
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31752; -- 31752
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31753; -- 31753
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31754; -- 31754
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31821; -- 31821
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31822; -- 31822
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31823; -- 31823
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31824; -- 31824
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31839; -- 31839
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31840; -- 31840
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31842; -- 31842
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31848; -- 31848
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=31892; -- 31892
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=4370; -- 4370
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=4540; -- 4540
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=4771; -- 4771
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=4772; -- 4772
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=4773; -- 4773
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=4774; -- 4774
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6670; -- 6670
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6671; -- 6671
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6676; -- 6676
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6677; -- 6677
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6698; -- 6698
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6699; -- 6699
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6700; -- 6700
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6701; -- 6701
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6702; -- 6702
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6707; -- 6707
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6708; -- 6708
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=6709; -- 6709
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=9023; -- 9023
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=9293; -- 9293
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=9711; -- 9711
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=9727; -- 9727
+UPDATE `creature_model_info` SET `bounding_radius`=0.306, `combat_reach`=1.5 WHERE `modelid`=9767; -- 9767
+UPDATE `creature_model_info` SET `bounding_radius`=0.31 WHERE `modelid`=18167; -- 18167
+UPDATE `creature_model_info` SET `bounding_radius`=0.31 WHERE `modelid`=9588; -- 9588
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=1 WHERE `modelid`=17700; -- 17700
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=1 WHERE `modelid`=17701; -- 17701
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=1 WHERE `modelid`=24698; -- 24698
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=1 WHERE `modelid`=24978; -- 24978
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=1 WHERE `modelid`=25755; -- 25755
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=1 WHERE `modelid`=25815; -- 25815
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=1 WHERE `modelid`=25816; -- 25816
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=1 WHERE `modelid`=25829; -- 25829
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=1 WHERE `modelid`=25830; -- 25830
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=1 WHERE `modelid`=28072; -- 28072
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=2 WHERE `modelid`=26648; -- 26648
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=3 WHERE `modelid`=26096; -- 26096
+UPDATE `creature_model_info` SET `bounding_radius`=0.31, `combat_reach`=3 WHERE `modelid`=27403; -- 27403
+UPDATE `creature_model_info` SET `bounding_radius`=0.312, `combat_reach`=2.25 WHERE `modelid`=30242; -- 30242
+UPDATE `creature_model_info` SET `bounding_radius`=0.3213, `combat_reach`=1.575 WHERE `modelid`=26171; -- 26171
+UPDATE `creature_model_info` SET `bounding_radius`=0.3298609, `combat_reach`=1.425 WHERE `modelid`=26732; -- 26732
+UPDATE `creature_model_info` SET `bounding_radius`=0.3298609, `combat_reach`=1.425 WHERE `modelid`=27353; -- 27353
+UPDATE `creature_model_info` SET `bounding_radius`=0.3366, `combat_reach`=1.65 WHERE `modelid`=22948; -- 22948
+UPDATE `creature_model_info` SET `bounding_radius`=0.3366, `combat_reach`=1.65 WHERE `modelid`=23691; -- 23691
+UPDATE `creature_model_info` SET `bounding_radius`=0.3366, `combat_reach`=1.65 WHERE `modelid`=23692; -- 23692
+UPDATE `creature_model_info` SET `bounding_radius`=0.3366, `combat_reach`=1.65 WHERE `modelid`=26190; -- 26190
+UPDATE `creature_model_info` SET `bounding_radius`=0.3366, `combat_reach`=1.65 WHERE `modelid`=29521; -- 29521
+UPDATE `creature_model_info` SET `bounding_radius`=0.3366, `combat_reach`=1.65 WHERE `modelid`=29532; -- 29532
+UPDATE `creature_model_info` SET `bounding_radius`=0.3366, `combat_reach`=1.65 WHERE `modelid`=30509; -- 30509
+UPDATE `creature_model_info` SET `bounding_radius`=0.341, `combat_reach`=1.5 WHERE `modelid`=15593; -- 15593
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=13311; -- 13311
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=21827; -- 21827
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=21828; -- 21828
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=21829; -- 21829
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=22345; -- 22345
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=25064; -- 25064
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=26407; -- 26407
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=26455; -- 26455
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=26460; -- 26460
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=26814; -- 26814
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=26815; -- 26815
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=29574; -- 29574
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=29575; -- 29575
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=29609; -- 29609
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=29610; -- 29610
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=29634; -- 29634
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=29635; -- 29635
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=29895; -- 29895
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=30369; -- 30369
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=30371; -- 30371
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=30668; -- 30668
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=30909; -- 30909
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=31847; -- 31847
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=31849; -- 31849
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=4119; -- 4119
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=53; -- 53
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=6669; -- 6669
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=7765; -- 7765
+UPDATE `creature_model_info` SET `bounding_radius`=0.347, `combat_reach`=1.5 WHERE `modelid`=8663; -- 8663
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222 WHERE `modelid`=10434; -- 10434
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222 WHERE `modelid`=10438; -- 10438
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222 WHERE `modelid`=10441; -- 10441
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222 WHERE `modelid`=10444; -- 10444
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=22251; -- 22251
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=22322; -- 22322
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=22323; -- 22323
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=22324; -- 22324
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=22325; -- 22325
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=26729; -- 26729
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=26737; -- 26737
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=27330; -- 27330
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=27409; -- 27409
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=27423; -- 27423
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=28258; -- 28258
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=28268; -- 28268
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=28272; -- 28272
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=28273; -- 28273
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=28439; -- 28439
+UPDATE `creature_model_info` SET `bounding_radius`=0.347222, `combat_reach`=1.5 WHERE `modelid`=30617; -- 30617
+UPDATE `creature_model_info` SET `bounding_radius`=0.35 WHERE `modelid`=6468; -- 6468
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=11206; -- 11206
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=11212; -- 11212
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=11214; -- 11214
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=11216; -- 11216
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=14393; -- 14393
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=14410; -- 14410
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=14411; -- 14411
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=14529; -- 14529
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=18104; -- 18104
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=21853; -- 21853
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=21972; -- 21972
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=22404; -- 22404
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=24053; -- 24053
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=24419; -- 24419
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=25271; -- 25271
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=26170; -- 26170
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=26825; -- 26825
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=27189; -- 27189
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=27262; -- 27262
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=29643; -- 29643
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=29903; -- 29903
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=30377; -- 30377
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=30378; -- 30378
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=3052; -- 3052
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=30633; -- 30633
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=30664; -- 30664
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=30665; -- 30665
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=30775; -- 30775
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=30882; -- 30882
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=31663; -- 31663
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=31676; -- 31676
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=31677; -- 31677
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=31678; -- 31678
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=31679; -- 31679
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=31680; -- 31680
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=31681; -- 31681
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=31735; -- 31735
+UPDATE `creature_model_info` SET `bounding_radius`=0.3519, `combat_reach`=1.725 WHERE `modelid`=7807; -- 7807
+UPDATE `creature_model_info` SET `bounding_radius`=0.354, `combat_reach`=2.25 WHERE `modelid`=30479; -- 30479
+UPDATE `creature_model_info` SET `bounding_radius`=0.3565, `combat_reach`=1.5 WHERE `modelid`=16245; -- 16245
+UPDATE `creature_model_info` SET `bounding_radius`=0.364, `combat_reach`=2.625 WHERE `modelid`=29490; -- 29490
+UPDATE `creature_model_info` SET `bounding_radius`=0.3645831, `combat_reach`=1.575 WHERE `modelid`=27839; -- 27839
+UPDATE `creature_model_info` SET `bounding_radius`=0.3645831, `combat_reach`=1.575 WHERE `modelid`=28248; -- 28248
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=11270; -- 11270
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=15602; -- 15602
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=15623; -- 15623
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=15629; -- 15629
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=15640; -- 15640
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=23459; -- 23459
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=26367; -- 26367
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=26830; -- 26830
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=30672; -- 30672
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=30696; -- 30696
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=31778; -- 31778
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=6439; -- 6439
+UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8 WHERE `modelid`=6687; -- 6687
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=11278; -- 11278
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=13322; -- 13322
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=13330; -- 13330
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=13335; -- 13335
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=13430; -- 13430
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=13434; -- 13434
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=13436; -- 13436
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=15139; -- 15139
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=15228; -- 15228
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=19182; -- 19182
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=21869; -- 21869
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=23275; -- 23275
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=23283; -- 23283
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=23284; -- 23284
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=23933; -- 23933
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=25275; -- 25275
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=26410; -- 26410
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=26508; -- 26508
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=26652; -- 26652
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=26745; -- 26745
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=27044; -- 27044
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=29493; -- 29493
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=29578; -- 29578
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=29579; -- 29579
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=29659; -- 29659
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=29660; -- 29660
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=29900; -- 29900
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=29901; -- 29901
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=30380; -- 30380
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=30673; -- 30673
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=30674; -- 30674
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=30693; -- 30693
+UPDATE `creature_model_info` SET `bounding_radius`=0.372, `combat_reach`=1.5 WHERE `modelid`=30865; -- 30865
+UPDATE `creature_model_info` SET `bounding_radius`=0.38, `combat_reach`=1 WHERE `modelid`=27399; -- 27399
+UPDATE `creature_model_info` SET `bounding_radius`=0.3817, `combat_reach`=1.65 WHERE `modelid`=27007; -- 27007
+UPDATE `creature_model_info` SET `bounding_radius`=0.3817, `combat_reach`=1.65 WHERE `modelid`=28130; -- 28130
+UPDATE `creature_model_info` SET `bounding_radius`=0.3817, `combat_reach`=1.65 WHERE `modelid`=28131; -- 28131
+UPDATE `creature_model_info` SET `bounding_radius`=0.3819442, `combat_reach`=1.65 WHERE `modelid`=26731; -- 26731
+UPDATE `creature_model_info` SET `bounding_radius`=0.3825, `combat_reach`=1.875 WHERE `modelid`=22983; -- 22983
+UPDATE `creature_model_info` SET `bounding_radius`=0.3825, `combat_reach`=1.875 WHERE `modelid`=23218; -- 23218
+UPDATE `creature_model_info` SET `bounding_radius`=0.3825, `combat_reach`=1.875 WHERE `modelid`=29888; -- 29888
+UPDATE `creature_model_info` SET `bounding_radius`=0.3825, `combat_reach`=1.875 WHERE `modelid`=29898; -- 29898
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=10475; -- 10475
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=13432; -- 13432
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=13433; -- 13433
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15176; -- 15176
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15177; -- 15177
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15179; -- 15179
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15189; -- 15189
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15197; -- 15197
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15199; -- 15199
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15206; -- 15206
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15207; -- 15207
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15208; -- 15208
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15209; -- 15209
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=15232; -- 15232
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=18145; -- 18145
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=18233; -- 18233
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=18243; -- 18243
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=18253; -- 18253
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=18258; -- 18258
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=18259; -- 18259
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=18260; -- 18260
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=18840; -- 18840
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=19169; -- 19169
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=19170; -- 19170
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=20305; -- 20305
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=20310; -- 20310
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=20311; -- 20311
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=21839; -- 21839
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=21840; -- 21840
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22401; -- 22401
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22402; -- 22402
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22540; -- 22540
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22781; -- 22781
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22834; -- 22834
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22836; -- 22836
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22839; -- 22839
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22904; -- 22904
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22923; -- 22923
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22973; -- 22973
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=22994; -- 22994
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=23423; -- 23423
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=23559; -- 23559
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=23714; -- 23714
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=23939; -- 23939
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=25065; -- 25065
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=25295; -- 25295
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=26654; -- 26654
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=26743; -- 26743
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=27228; -- 27228
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=27259; -- 27259
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=27293; -- 27293
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=28770; -- 28770
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=28789; -- 28789
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=28790; -- 28790
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=28791; -- 28791
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=28793; -- 28793
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=28794; -- 28794
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=28795; -- 28795
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=28796; -- 28796
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=28797; -- 28797
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=28798; -- 28798
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29580; -- 29580
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29581; -- 29581
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29611; -- 29611
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29651; -- 29651
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29652; -- 29652
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29653; -- 29653
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29654; -- 29654
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29655; -- 29655
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29679; -- 29679
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29682; -- 29682
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29687; -- 29687
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29688; -- 29688
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29689; -- 29689
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29690; -- 29690
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29692; -- 29692
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29693; -- 29693
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29795; -- 29795
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=29812; -- 29812
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30163; -- 30163
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30388; -- 30388
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30389; -- 30389
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30391; -- 30391
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30677; -- 30677
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30678; -- 30678
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30679; -- 30679
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30680; -- 30680
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30691; -- 30691
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30692; -- 30692
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30766; -- 30766
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30767; -- 30767
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30769; -- 30769
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30838; -- 30838
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30840; -- 30840
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30848; -- 30848
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30878; -- 30878
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30880; -- 30880
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30907; -- 30907
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=30910; -- 30910
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=31013; -- 31013
+UPDATE `creature_model_info` SET `bounding_radius`=0.383, `combat_reach`=1.5 WHERE `modelid`=57; -- 57
+UPDATE `creature_model_info` SET `bounding_radius`=0.38709, `combat_reach`=1.8975 WHERE `modelid`=27150; -- 27150
+UPDATE `creature_model_info` SET `bounding_radius`=0.38709, `combat_reach`=1.8975 WHERE `modelid`=27704; -- 27704
+UPDATE `creature_model_info` SET `bounding_radius`=0.38709, `combat_reach`=1.8975 WHERE `modelid`=30983; -- 30983
+UPDATE `creature_model_info` SET `bounding_radius`=0.38709, `combat_reach`=1.8975 WHERE `modelid`=31682; -- 31682
+UPDATE `creature_model_info` SET `bounding_radius`=0.38709, `combat_reach`=1.8975 WHERE `modelid`=31683; -- 31683
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875 WHERE `modelid`=12163; -- 12163
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=26950; -- 26950
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=26951; -- 26951
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=26952; -- 26952
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=26953; -- 26953
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=26954; -- 26954
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=26955; -- 26955
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=26966; -- 26966
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=27003; -- 27003
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=27094; -- 27094
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=27095; -- 27095
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=27970; -- 27970
+UPDATE `creature_model_info` SET `bounding_radius`=0.3875, `combat_reach`=1.25 WHERE `modelid`=30695; -- 30695
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=11205; -- 11205
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=11211; -- 11211
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=11256; -- 11256
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=14422; -- 14422
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=15689; -- 15689
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=15691; -- 15691
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=18868; -- 18868
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=21863; -- 21863
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=22824; -- 22824
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=30374; -- 30374
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=30637; -- 30637
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=30671; -- 30671
+UPDATE `creature_model_info` SET `bounding_radius`=0.389, `combat_reach`=1.5 WHERE `modelid`=30883; -- 30883
+UPDATE `creature_model_info` SET `bounding_radius`=0.38988, `combat_reach`=1.62 WHERE `modelid`=23187; -- 23187
+UPDATE `creature_model_info` SET `bounding_radius`=0.38988, `combat_reach`=1.62 WHERE `modelid`=23215; -- 23215
+UPDATE `creature_model_info` SET `bounding_radius`=0.39905, `combat_reach`=1.725 WHERE `modelid`=30582; -- 30582
+UPDATE `creature_model_info` SET `bounding_radius`=0.4, `combat_reach`=0.5 WHERE `modelid`=15204; -- 15204
+UPDATE `creature_model_info` SET `bounding_radius`=0.403, `combat_reach`=1.5 WHERE `modelid`=15592; -- 15592
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=13300; -- 13300
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=22946; -- 22946
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=25746; -- 25746
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=29496; -- 29496
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=29526; -- 29526
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=29529; -- 29529
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=29530; -- 29530
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=30065; -- 30065
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=30066; -- 30066
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=30511; -- 30511
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=30911; -- 30911
+UPDATE `creature_model_info` SET `bounding_radius`=0.4092, `combat_reach`=1.65 WHERE `modelid`=30982; -- 30982
+UPDATE `creature_model_info` SET `bounding_radius`=0.4131, `combat_reach`=2.025 WHERE `modelid`=23287; -- 23287
+UPDATE `creature_model_info` SET `bounding_radius`=0.4131, `combat_reach`=2.025 WHERE `modelid`=29860; -- 29860
+UPDATE `creature_model_info` SET `bounding_radius`=0.416, `combat_reach`=3 WHERE `modelid`=30323; -- 30323
+UPDATE `creature_model_info` SET `bounding_radius`=0.4164, `combat_reach`=1.8 WHERE `modelid`=15612; -- 15612
+UPDATE `creature_model_info` SET `bounding_radius`=0.4164, `combat_reach`=1.8 WHERE `modelid`=15622; -- 15622
+UPDATE `creature_model_info` SET `bounding_radius`=0.4164, `combat_reach`=1.8 WHERE `modelid`=15626; -- 15626
+UPDATE `creature_model_info` SET `bounding_radius`=0.4164, `combat_reach`=1.8 WHERE `modelid`=22394; -- 22394
+UPDATE `creature_model_info` SET `bounding_radius`=0.4164, `combat_reach`=1.8 WHERE `modelid`=22450; -- 22450
+UPDATE `creature_model_info` SET `bounding_radius`=0.4164, `combat_reach`=1.8 WHERE `modelid`=24043; -- 24043
+UPDATE `creature_model_info` SET `bounding_radius`=0.4164, `combat_reach`=1.8 WHERE `modelid`=26497; -- 26497
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=26956; -- 26956
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=26957; -- 26957
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=26958; -- 26958
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=26959; -- 26959
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=26960; -- 26960
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=26961; -- 26961
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=26962; -- 26962
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=26963; -- 26963
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=26964; -- 26964
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=27098; -- 27098
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=27506; -- 27506
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=28281; -- 28281
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=29683; -- 29683
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=29685; -- 29685
+UPDATE `creature_model_info` SET `bounding_radius`=0.4166664, `combat_reach`=1.8 WHERE `modelid`=29686; -- 29686
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=19572; -- 19572
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=28128; -- 28128
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=28129; -- 28129
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=29500; -- 29500
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=29501; -- 29501
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=29506; -- 29506
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=29507; -- 29507
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=29870; -- 29870
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=29871; -- 29871
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=29872; -- 29872
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=29873; -- 29873
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=31833; -- 31833
+UPDATE `creature_model_info` SET `bounding_radius`=0.4213, `combat_reach`=1.65 WHERE `modelid`=31834; -- 31834
+UPDATE `creature_model_info` SET `bounding_radius`=0.42228, `combat_reach`=2.07 WHERE `modelid`=31658; -- 31658
+UPDATE `creature_model_info` SET `bounding_radius`=0.425, `combat_reach`=1.275 WHERE `modelid`=2709; -- 2709
+UPDATE `creature_model_info` SET `bounding_radius`=0.4278, `combat_reach`=1.725 WHERE `modelid`=30069; -- 30069
+UPDATE `creature_model_info` SET `bounding_radius`=0.4284, `combat_reach`=2.1 WHERE `modelid`=27410; -- 27410
+UPDATE `creature_model_info` SET `bounding_radius`=0.4284, `combat_reach`=2.1 WHERE `modelid`=31749; -- 31749
+UPDATE `creature_model_info` SET `bounding_radius`=0.434, `combat_reach`=1.4 WHERE `modelid`=27790; -- 27790
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22161; -- 22161
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22261; -- 22261
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22262; -- 22262
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22275; -- 22275
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22276; -- 22276
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22301; -- 22301
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22302; -- 22302
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22303; -- 22303
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22304; -- 22304
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22307; -- 22307
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=22308; -- 22308
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=27444; -- 27444
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=27445; -- 27445
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=27446; -- 27446
+UPDATE `creature_model_info` SET `bounding_radius`=0.4340275, `combat_reach`=1.875 WHERE `modelid`=27447; -- 27447
+UPDATE `creature_model_info` SET `bounding_radius`=0.439875, `combat_reach`=2.15625 WHERE `modelid`=29984; -- 29984
+UPDATE `creature_model_info` SET `bounding_radius`=0.44045, `combat_reach`=1.725 WHERE `modelid`=30071; -- 30071
+UPDATE `creature_model_info` SET `bounding_radius`=0.44045, `combat_reach`=1.725 WHERE `modelid`=30072; -- 30072
+UPDATE `creature_model_info` SET `bounding_radius`=0.44045, `combat_reach`=1.725 WHERE `modelid`=30073; -- 30073
+UPDATE `creature_model_info` SET `bounding_radius`=0.4464, `combat_reach`=1.8 WHERE `modelid`=30850; -- 30850
+UPDATE `creature_model_info` SET `bounding_radius`=0.4464, `combat_reach`=1.8 WHERE `modelid`=9603; -- 9603
+UPDATE `creature_model_info` SET `bounding_radius`=0.4464, `combat_reach`=1.8 WHERE `modelid`=9665; -- 9665
+UPDATE `creature_model_info` SET `bounding_radius`=0.44735, `combat_reach`=1.725 WHERE `modelid`=11213; -- 11213
+UPDATE `creature_model_info` SET `bounding_radius`=0.44735, `combat_reach`=1.725 WHERE `modelid`=11215; -- 11215
+UPDATE `creature_model_info` SET `bounding_radius`=0.44735, `combat_reach`=1.725 WHERE `modelid`=14407; -- 14407
+UPDATE `creature_model_info` SET `bounding_radius`=0.44735, `combat_reach`=1.725 WHERE `modelid`=14409; -- 14409
+UPDATE `creature_model_info` SET `bounding_radius`=0.44735, `combat_reach`=1.725 WHERE `modelid`=14412; -- 14412
+UPDATE `creature_model_info` SET `bounding_radius`=0.44735, `combat_reach`=1.725 WHERE `modelid`=14420; -- 14420
+UPDATE `creature_model_info` SET `bounding_radius`=0.44735, `combat_reach`=1.725 WHERE `modelid`=15996; -- 15996
+UPDATE `creature_model_info` SET `bounding_radius`=0.44735, `combat_reach`=1.725 WHERE `modelid`=25270; -- 25270
+UPDATE `creature_model_info` SET `bounding_radius`=0.44925, `combat_reach`=0.9375 WHERE `modelid`=1749; -- 1749
+UPDATE `creature_model_info` SET `bounding_radius`=0.4511, `combat_reach`=1.95 WHERE `modelid`=21824; -- 21824
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=21997; -- 21997
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22263; -- 22263
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22264; -- 22264
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22271; -- 22271
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22272; -- 22272
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22273; -- 22273
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22274; -- 22274
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22277; -- 22277
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22278; -- 22278
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22309; -- 22309
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22310; -- 22310
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22313; -- 22313
+UPDATE `creature_model_info` SET `bounding_radius`=0.4513886, `combat_reach`=1.95 WHERE `modelid`=22314; -- 22314
+UPDATE `creature_model_info` SET `bounding_radius`=0.4524, `combat_reach`=1.625 WHERE `modelid`=14257; -- 14257
+UPDATE `creature_model_info` SET `bounding_radius`=0.455, `combat_reach`=1.95 WHERE `modelid`=25005; -- 25005
+UPDATE `creature_model_info` SET `bounding_radius`=0.459, `combat_reach`=2.25 WHERE `modelid`=26222; -- 26222
+UPDATE `creature_model_info` SET `bounding_radius`=0.459, `combat_reach`=2.25 WHERE `modelid`=29765; -- 29765
+UPDATE `creature_model_info` SET `bounding_radius`=0.459, `combat_reach`=2.25 WHERE `modelid`=29770; -- 29770
+UPDATE `creature_model_info` SET `bounding_radius`=0.459, `combat_reach`=2.25 WHERE `modelid`=30457; -- 30457
+UPDATE `creature_model_info` SET `bounding_radius`=0.459, `combat_reach`=2.25 WHERE `modelid`=30471; -- 30471
+UPDATE `creature_model_info` SET `bounding_radius`=0.459, `combat_reach`=2.25 WHERE `modelid`=30488; -- 30488
+UPDATE `creature_model_info` SET `bounding_radius`=0.459, `combat_reach`=2.25 WHERE `modelid`=31730; -- 31730
+UPDATE `creature_model_info` SET `bounding_radius`=0.4596, `combat_reach`=1.8 WHERE `modelid`=21012; -- 21012
+UPDATE `creature_model_info` SET `bounding_radius`=0.4596, `combat_reach`=1.8 WHERE `modelid`=25307; -- 25307
+UPDATE `creature_model_info` SET `bounding_radius`=0.4596, `combat_reach`=1.8 WHERE `modelid`=27851; -- 27851
+UPDATE `creature_model_info` SET `bounding_radius`=0.4596, `combat_reach`=1.8 WHERE `modelid`=29893; -- 29893
+UPDATE `creature_model_info` SET `bounding_radius`=0.4596, `combat_reach`=1.8 WHERE `modelid`=29894; -- 29894
+UPDATE `creature_model_info` SET `bounding_radius`=0.465 WHERE `modelid`=12164; -- 12164
+UPDATE `creature_model_info` SET `bounding_radius`=0.465, `combat_reach`=1.875 WHERE `modelid`=30075; -- 30075
+UPDATE `creature_model_info` SET `bounding_radius`=0.465, `combat_reach`=7.5 WHERE `modelid`=28344; -- 28344
+UPDATE `creature_model_info` SET `bounding_radius`=0.4668, `combat_reach`=1.8 WHERE `modelid`=14384; -- 14384
+UPDATE `creature_model_info` SET `bounding_radius`=0.4668, `combat_reach`=1.8 WHERE `modelid`=15601; -- 15601
+UPDATE `creature_model_info` SET `bounding_radius`=0.4668, `combat_reach`=1.8 WHERE `modelid`=15610; -- 15610
+UPDATE `creature_model_info` SET `bounding_radius`=0.46845, `combat_reach`=2.025 WHERE `modelid`=24058; -- 24058
+UPDATE `creature_model_info` SET `bounding_radius`=0.472, `combat_reach`=3 WHERE `modelid`=30327; -- 30327
+UPDATE `creature_model_info` SET `bounding_radius`=0.48, `combat_reach`=0.7 WHERE `modelid`=3005; -- 3005
+UPDATE `creature_model_info` SET `bounding_radius`=0.48, `combat_reach`=1.6 WHERE `modelid`=19259; -- 19259
+UPDATE `creature_model_info` SET `bounding_radius`=0.4836, `combat_reach`=1.95 WHERE `modelid`=23118; -- 23118
+UPDATE `creature_model_info` SET `bounding_radius`=0.49266, `combat_reach`=2.415 WHERE `modelid`=31020; -- 31020
+UPDATE `creature_model_info` SET `bounding_radius`=0.49266, `combat_reach`=2.415 WHERE `modelid`=31022; -- 31022
+UPDATE `creature_model_info` SET `bounding_radius`=0.5, `combat_reach`=0.5 WHERE `modelid`=25540; -- 25540
+UPDATE `creature_model_info` SET `bounding_radius`=0.5, `combat_reach`=0.625 WHERE `modelid`=6842; -- 6842
+UPDATE `creature_model_info` SET `bounding_radius`=0.5, `combat_reach`=1 WHERE `modelid`=26981; -- 26981
+UPDATE `creature_model_info` SET `bounding_radius`=0.5, `combat_reach`=1 WHERE `modelid`=30877; -- 30877
+UPDATE `creature_model_info` SET `bounding_radius`=0.5, `combat_reach`=1.5 WHERE `modelid`=15464; -- 15464
+UPDATE `creature_model_info` SET `bounding_radius`=0.5, `combat_reach`=4 WHERE `modelid`=27103; -- 27103
+UPDATE `creature_model_info` SET `bounding_radius`=0.5022, `combat_reach`=2.025 WHERE `modelid`=23288; -- 23288
+UPDATE `creature_model_info` SET `bounding_radius`=0.5022, `combat_reach`=2.025 WHERE `modelid`=29858; -- 29858
+UPDATE `creature_model_info` SET `bounding_radius`=0.5022, `combat_reach`=2.025 WHERE `modelid`=29859; -- 29859
+UPDATE `creature_model_info` SET `bounding_radius`=0.5022, `combat_reach`=2.025 WHERE `modelid`=29899; -- 29899
+UPDATE `creature_model_info` SET `bounding_radius`=0.5100001, `combat_reach`=1.275 WHERE `modelid`=12194; -- 12194
+UPDATE `creature_model_info` SET `bounding_radius`=0.5205, `combat_reach`=2.25 WHERE `modelid`=14663; -- 14663
+UPDATE `creature_model_info` SET `bounding_radius`=0.5205, `combat_reach`=2.25 WHERE `modelid`=30178; -- 30178
+UPDATE `creature_model_info` SET `bounding_radius`=0.5205, `combat_reach`=2.25 WHERE `modelid`=30465; -- 30465
+UPDATE `creature_model_info` SET `bounding_radius`=0.5205, `combat_reach`=2.25 WHERE `modelid`=30528; -- 30528
+UPDATE `creature_model_info` SET `bounding_radius`=0.5205, `combat_reach`=2.25 WHERE `modelid`=31127; -- 31127
+UPDATE `creature_model_info` SET `bounding_radius`=0.5208, `combat_reach`=2.1 WHERE `modelid`=11996; -- 11996
+UPDATE `creature_model_info` SET `bounding_radius`=0.520833, `combat_reach`=2.25 WHERE `modelid`=23840; -- 23840
+UPDATE `creature_model_info` SET `bounding_radius`=0.520833, `combat_reach`=2.25 WHERE `modelid`=26638; -- 26638
+UPDATE `creature_model_info` SET `bounding_radius`=0.520833, `combat_reach`=2.25 WHERE `modelid`=27136; -- 27136
+UPDATE `creature_model_info` SET `bounding_radius`=0.520833, `combat_reach`=2.25 WHERE `modelid`=27397; -- 27397
+UPDATE `creature_model_info` SET `bounding_radius`=0.520833, `combat_reach`=2.25 WHERE `modelid`=30364; -- 30364
+UPDATE `creature_model_info` SET `bounding_radius`=0.525, `combat_reach`=2.25 WHERE `modelid`=30045; -- 30045
+UPDATE `creature_model_info` SET `bounding_radius`=0.525, `combat_reach`=2.25 WHERE `modelid`=30046; -- 30046
+UPDATE `creature_model_info` SET `bounding_radius`=0.525, `combat_reach`=2.25 WHERE `modelid`=30047; -- 30047
+UPDATE `creature_model_info` SET `bounding_radius`=0.52785, `combat_reach`=2.5875 WHERE `modelid`=30535; -- 30535
+UPDATE `creature_model_info` SET `bounding_radius`=0.533, `combat_reach`=1.5 WHERE `modelid`=31812; -- 31812
+UPDATE `creature_model_info` SET `bounding_radius`=0.5355, `combat_reach`=2.625 WHERE `modelid`=29616; -- 29616
+UPDATE `creature_model_info` SET `bounding_radius`=0.5362, `combat_reach`=2.1 WHERE `modelid`=27411; -- 27411
+UPDATE `creature_model_info` SET `bounding_radius`=0.5362, `combat_reach`=2.1 WHERE `modelid`=27508; -- 27508
+UPDATE `creature_model_info` SET `bounding_radius`=0.5425 WHERE `modelid`=12239; -- 12239
+UPDATE `creature_model_info` SET `bounding_radius`=0.5425, `combat_reach`=1.75 WHERE `modelid`=27301; -- 27301
+UPDATE `creature_model_info` SET `bounding_radius`=0.5555552, `combat_reach`=2.4 WHERE `modelid`=29426; -- 29426
+UPDATE `creature_model_info` SET `bounding_radius`=0.558, `combat_reach`=1.8 WHERE `modelid`=31050; -- 31050
+UPDATE `creature_model_info` SET `bounding_radius`=0.558, `combat_reach`=2.25 WHERE `modelid`=30530; -- 30530
+UPDATE `creature_model_info` SET `bounding_radius`=0.5745, `combat_reach`=2.25 WHERE `modelid`=27402; -- 27402
+UPDATE `creature_model_info` SET `bounding_radius`=0.5745, `combat_reach`=2.25 WHERE `modelid`=30268; -- 30268
+UPDATE `creature_model_info` SET `bounding_radius`=0.5745, `combat_reach`=2.25 WHERE `modelid`=30484; -- 30484
+UPDATE `creature_model_info` SET `bounding_radius`=0.5745, `combat_reach`=2.25 WHERE `modelid`=30490; -- 30490
+UPDATE `creature_model_info` SET `bounding_radius`=0.5745, `combat_reach`=2.25 WHERE `modelid`=30532; -- 30532
+UPDATE `creature_model_info` SET `bounding_radius`=0.5745, `combat_reach`=2.25 WHERE `modelid`=31125; -- 31125
+UPDATE `creature_model_info` SET `bounding_radius`=0.5835, `combat_reach`=2.25 WHERE `modelid`=30455; -- 30455
+UPDATE `creature_model_info` SET `bounding_radius`=0.5902774, `combat_reach`=2.55 WHERE `modelid`=22538; -- 22538
+UPDATE `creature_model_info` SET `bounding_radius`=0.599, `combat_reach`=1.25 WHERE `modelid`=470; -- 470
+UPDATE `creature_model_info` SET `bounding_radius`=0.6 WHERE `modelid`=23723; -- 23723
+UPDATE `creature_model_info` SET `bounding_radius`=0.6, `combat_reach`=0.875 WHERE `modelid`=8184; -- 8184
+UPDATE `creature_model_info` SET `bounding_radius`=0.6, `combat_reach`=0.875 WHERE `modelid`=9033; -- 9033
+UPDATE `creature_model_info` SET `bounding_radius`=0.6, `combat_reach`=1.2 WHERE `modelid`=2489; -- 2489
+UPDATE `creature_model_info` SET `bounding_radius`=0.6, `combat_reach`=2 WHERE `modelid`=25501; -- 25501
+UPDATE `creature_model_info` SET `bounding_radius`=0.6, `combat_reach`=2.25 WHERE `modelid`=15437; -- 15437
+UPDATE `creature_model_info` SET `bounding_radius`=0.611112, `combat_reach`=2 WHERE `modelid`=30809; -- 30809
+UPDATE `creature_model_info` SET `bounding_radius`=0.612, `combat_reach`=3 WHERE `modelid`=30801; -- 30801
+UPDATE `creature_model_info` SET `bounding_radius`=0.612, `combat_reach`=3 WHERE `modelid`=30802; -- 30802
+UPDATE `creature_model_info` SET `bounding_radius`=0.612, `combat_reach`=3 WHERE `modelid`=31011; -- 31011
+UPDATE `creature_model_info` SET `bounding_radius`=0.6128, `combat_reach`=2.4 WHERE `modelid`=22230; -- 22230
+UPDATE `creature_model_info` SET `bounding_radius`=0.6128, `combat_reach`=2.4 WHERE `modelid`=30713; -- 30713
+UPDATE `creature_model_info` SET `bounding_radius`=0.6128, `combat_reach`=2.4 WHERE `modelid`=31023; -- 31023
+UPDATE `creature_model_info` SET `bounding_radius`=0.6128, `combat_reach`=2.4 WHERE `modelid`=31024; -- 31024
+UPDATE `creature_model_info` SET `bounding_radius`=0.6128, `combat_reach`=2.4 WHERE `modelid`=31025; -- 31025
+UPDATE `creature_model_info` SET `bounding_radius`=0.6128, `combat_reach`=2.4 WHERE `modelid`=31026; -- 31026
+UPDATE `creature_model_info` SET `bounding_radius`=0.62 WHERE `modelid`=20039; -- 20039
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=1.5 WHERE `modelid`=19705; -- 19705
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=1.5 WHERE `modelid`=28324; -- 28324
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=2 WHERE `modelid`=26694; -- 26694
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=2 WHERE `modelid`=27337; -- 27337
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=2 WHERE `modelid`=27427; -- 27427
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=2 WHERE `modelid`=27431; -- 27431
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=2 WHERE `modelid`=27705; -- 27705
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=2 WHERE `modelid`=27706; -- 27706
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=2 WHERE `modelid`=27707; -- 27707
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=2 WHERE `modelid`=28381; -- 28381
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=3 WHERE `modelid`=30885; -- 30885
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=4 WHERE `modelid`=26692; -- 26692
+UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=4 WHERE `modelid`=26782; -- 26782
+UPDATE `creature_model_info` SET `bounding_radius`=0.63195, `combat_reach`=2.475 WHERE `modelid`=31028; -- 31028
+UPDATE `creature_model_info` SET `bounding_radius`=0.63195, `combat_reach`=2.475 WHERE `modelid`=31029; -- 31029
+UPDATE `creature_model_info` SET `bounding_radius`=0.63195, `combat_reach`=2.475 WHERE `modelid`=31030; -- 31030
+UPDATE `creature_model_info` SET `bounding_radius`=0.63195, `combat_reach`=2.475 WHERE `modelid`=31031; -- 31031
+UPDATE `creature_model_info` SET `bounding_radius`=0.63195, `combat_reach`=2.475 WHERE `modelid`=31033; -- 31033
+UPDATE `creature_model_info` SET `bounding_radius`=0.63195, `combat_reach`=2.475 WHERE `modelid`=31034; -- 31034
+UPDATE `creature_model_info` SET `bounding_radius`=0.63195, `combat_reach`=2.475 WHERE `modelid`=31035; -- 31035
+UPDATE `creature_model_info` SET `bounding_radius`=0.63195, `combat_reach`=2.475 WHERE `modelid`=31036; -- 31036
+UPDATE `creature_model_info` SET `bounding_radius`=0.63195, `combat_reach`=2.475 WHERE `modelid`=31037; -- 31037
+UPDATE `creature_model_info` SET `bounding_radius`=0.63195, `combat_reach`=2.475 WHERE `modelid`=31038; -- 31038
+UPDATE `creature_model_info` SET `bounding_radius`=0.65, `combat_reach`=1.3 WHERE `modelid`=10988; -- 10988
+UPDATE `creature_model_info` SET `bounding_radius`=0.65, `combat_reach`=1.625 WHERE `modelid`=8782; -- 8782
+UPDATE `creature_model_info` SET `bounding_radius`=0.65, `combat_reach`=7.15 WHERE `modelid`=23707; -- 23707
+UPDATE `creature_model_info` SET `bounding_radius`=0.675, `combat_reach`=1.875 WHERE `modelid`=10032; -- 10032
+UPDATE `creature_model_info` SET `bounding_radius`=0.67575, `combat_reach`=1.275 WHERE `modelid`=598; -- 598
+UPDATE `creature_model_info` SET `bounding_radius`=0.69, `combat_reach`=1.725 WHERE `modelid`=12192; -- 12192
+UPDATE `creature_model_info` SET `bounding_radius`=0.694, `combat_reach`=4 WHERE `modelid`=5848; -- 5848
+UPDATE `creature_model_info` SET `bounding_radius`=0.694444, `combat_reach`=3 WHERE `modelid`=20990; -- 20990
+UPDATE `creature_model_info` SET `bounding_radius`=0.694444, `combat_reach`=3 WHERE `modelid`=25442; -- 25442
+UPDATE `creature_model_info` SET `bounding_radius`=0.694444, `combat_reach`=3 WHERE `modelid`=25484; -- 25484
+UPDATE `creature_model_info` SET `bounding_radius`=0.694444, `combat_reach`=3 WHERE `modelid`=25588; -- 25588
+UPDATE `creature_model_info` SET `bounding_radius`=0.696, `combat_reach`=2.5 WHERE `modelid`=22989; -- 22989
+UPDATE `creature_model_info` SET `bounding_radius`=0.696, `combat_reach`=3 WHERE `modelid`=11382; -- 11382
+UPDATE `creature_model_info` SET `bounding_radius`=0.7, `combat_reach`=1.4 WHERE `modelid`=7347; -- 7347
+UPDATE `creature_model_info` SET `bounding_radius`=0.7, `combat_reach`=4 WHERE `modelid`=5107; -- 5107
+UPDATE `creature_model_info` SET `bounding_radius`=0.7, `combat_reach`=5 WHERE `modelid`=14383; -- 14383
+UPDATE `creature_model_info` SET `bounding_radius`=0.7135729, `combat_reach`=0.6067797 WHERE `modelid`=8869; -- 8869
+UPDATE `creature_model_info` SET `bounding_radius`=0.7474576, `combat_reach`=0.934322 WHERE `modelid`=1307; -- 1307
+UPDATE `creature_model_info` SET `bounding_radius`=0.75, `combat_reach`=1.125 WHERE `modelid`=12962; -- 12962
+UPDATE `creature_model_info` SET `bounding_radius`=0.75, `combat_reach`=1.125 WHERE `modelid`=12963; -- 12963
+UPDATE `creature_model_info` SET `bounding_radius`=0.75, `combat_reach`=1.5 WHERE `modelid`=20577; -- 20577
+UPDATE `creature_model_info` SET `bounding_radius`=0.75, `combat_reach`=1.5 WHERE `modelid`=23257; -- 23257
+UPDATE `creature_model_info` SET `bounding_radius`=0.75, `combat_reach`=1.875 WHERE `modelid`=10698; -- 10698
+UPDATE `creature_model_info` SET `bounding_radius`=0.75, `combat_reach`=15 WHERE `modelid`=29268; -- 29268
+UPDATE `creature_model_info` SET `bounding_radius`=0.75, `combat_reach`=7.5 WHERE `modelid`=20811; -- 20811
+UPDATE `creature_model_info` SET `bounding_radius`=0.76395, `combat_reach`=1.1 WHERE `modelid`=4906; -- 4906
+UPDATE `creature_model_info` SET `bounding_radius`=0.775, `combat_reach`=2.5 WHERE `modelid`=27804; -- 27804
+UPDATE `creature_model_info` SET `bounding_radius`=0.78075, `combat_reach`=4.5 WHERE `modelid`=13173; -- 13173
+UPDATE `creature_model_info` SET `bounding_radius`=0.7875, `combat_reach`=2.1875 WHERE `modelid`=11340; -- 11340
+UPDATE `creature_model_info` SET `bounding_radius`=0.7995, `combat_reach`=2.25 WHERE `modelid`=14708; -- 14708
+UPDATE `creature_model_info` SET `bounding_radius`=0.8, `combat_reach`=3 WHERE `modelid`=15738; -- 15738
+UPDATE `creature_model_info` SET `bounding_radius`=0.8, `combat_reach`=3.6 WHERE `modelid`=30810; -- 30810
+UPDATE `creature_model_info` SET `bounding_radius`=0.8, `combat_reach`=8 WHERE `modelid`=7806; -- 7806
+UPDATE `creature_model_info` SET `bounding_radius`=0.818, `combat_reach`=2 WHERE `modelid`=29258; -- 29258
+UPDATE `creature_model_info` SET `bounding_radius`=0.84029, `combat_reach`=2.75 WHERE `modelid`=14514; -- 14514
+UPDATE `creature_model_info` SET `bounding_radius`=0.8525, `combat_reach`=2.75 WHERE `modelid`=27426; -- 27426
+UPDATE `creature_model_info` SET `bounding_radius`=0.8675, `combat_reach`=5 WHERE `modelid`=6350; -- 6350
+UPDATE `creature_model_info` SET `bounding_radius`=0.8725, `combat_reach`=3.75 WHERE `modelid`=23130; -- 23130
+UPDATE `creature_model_info` SET `bounding_radius`=0.8725, `combat_reach`=3.75 WHERE `modelid`=29608; -- 29608
+UPDATE `creature_model_info` SET `bounding_radius`=0.8725, `combat_reach`=3.75 WHERE `modelid`=29647; -- 29647
+UPDATE `creature_model_info` SET `bounding_radius`=0.8725, `combat_reach`=3.75 WHERE `modelid`=30385; -- 30385
+UPDATE `creature_model_info` SET `bounding_radius`=0.8725, `combat_reach`=3.75 WHERE `modelid`=30689; -- 30689
+UPDATE `creature_model_info` SET `bounding_radius`=0.8745, `combat_reach`=1.65 WHERE `modelid`=22517; -- 22517
+UPDATE `creature_model_info` SET `bounding_radius`=0.875, `combat_reach`=2.1875 WHERE `modelid`=22337; -- 22337
+UPDATE `creature_model_info` SET `bounding_radius`=0.875, `combat_reach`=2.5 WHERE `modelid`=19962; -- 19962
+UPDATE `creature_model_info` SET `bounding_radius`=0.875, `combat_reach`=2.5 WHERE `modelid`=29169; -- 29169
+UPDATE `creature_model_info` SET `bounding_radius`=0.875, `combat_reach`=2.5 WHERE `modelid`=29170; -- 29170
+UPDATE `creature_model_info` SET `bounding_radius`=0.875, `combat_reach`=2.5 WHERE `modelid`=29171; -- 29171
+UPDATE `creature_model_info` SET `bounding_radius`=0.875, `combat_reach`=2.625 WHERE `modelid`=15483; -- 15483
+UPDATE `creature_model_info` SET `bounding_radius`=0.875, `combat_reach`=3.75 WHERE `modelid`=31092; -- 31092
+UPDATE `creature_model_info` SET `bounding_radius`=0.9, `combat_reach`=0.9 WHERE `modelid`=27462; -- 27462
+UPDATE `creature_model_info` SET `bounding_radius`=0.9, `combat_reach`=1.8 WHERE `modelid`=24860; -- 24860
+UPDATE `creature_model_info` SET `bounding_radius`=0.9, `combat_reach`=3 WHERE `modelid`=21630; -- 21630
+UPDATE `creature_model_info` SET `bounding_radius`=0.9, `combat_reach`=3 WHERE `modelid`=21631; -- 21631
+UPDATE `creature_model_info` SET `bounding_radius`=0.9, `combat_reach`=3 WHERE `modelid`=21632; -- 21632
+UPDATE `creature_model_info` SET `bounding_radius`=0.9, `combat_reach`=3 WHERE `modelid`=21633; -- 21633
+UPDATE `creature_model_info` SET `bounding_radius`=0.918, `combat_reach`=4.5 WHERE `modelid`=26591; -- 26591
+UPDATE `creature_model_info` SET `bounding_radius`=0.918, `combat_reach`=4.5 WHERE `modelid`=29588; -- 29588
+UPDATE `creature_model_info` SET `bounding_radius`=0.93 WHERE `modelid`=12110; -- 12110
+UPDATE `creature_model_info` SET `bounding_radius`=0.93 WHERE `modelid`=16840; -- 16840
+UPDATE `creature_model_info` SET `bounding_radius`=0.93, `combat_reach`=1.5 WHERE `modelid`=30866; -- 30866
+UPDATE `creature_model_info` SET `bounding_radius`=0.93, `combat_reach`=3 WHERE `modelid`=27339; -- 27339
+UPDATE `creature_model_info` SET `bounding_radius`=0.93, `combat_reach`=3 WHERE `modelid`=29589; -- 29589
+UPDATE `creature_model_info` SET `bounding_radius`=0.95975, `combat_reach`=4.125 WHERE `modelid`=29503; -- 29503
+UPDATE `creature_model_info` SET `bounding_radius`=0.9722216, `combat_reach`=4.2 WHERE `modelid`=22332; -- 22332
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=15230; -- 15230
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=23238; -- 23238
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=23286; -- 23286
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=24649; -- 24649
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=25308; -- 25308
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=26646; -- 26646
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=29250; -- 29250
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=29569; -- 29569
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=29582; -- 29582
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=29583; -- 29583
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=29645; -- 29645
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=29646; -- 29646
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=30384; -- 30384
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=30681; -- 30681
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=30879; -- 30879
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=31112; -- 31112
+UPDATE `creature_model_info` SET `bounding_radius`=0.9747, `combat_reach`=4.05 WHERE `modelid`=9234; -- 9234
+UPDATE `creature_model_info` SET `bounding_radius`=1 WHERE `modelid`=18684; -- 18684
+UPDATE `creature_model_info` SET `bounding_radius`=1 WHERE `modelid`=2176; -- 2176
+UPDATE `creature_model_info` SET `bounding_radius`=1 WHERE `modelid`=251; -- 251
+UPDATE `creature_model_info` SET `bounding_radius`=1 WHERE `modelid`=27243; -- 27243
+UPDATE `creature_model_info` SET `bounding_radius`=1 WHERE `modelid`=29255; -- 29255
+UPDATE `creature_model_info` SET `bounding_radius`=1 WHERE `modelid`=31725; -- 31725
+UPDATE `creature_model_info` SET `bounding_radius`=1 WHERE `modelid`=80; -- 80
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1 WHERE `modelid`=1336; -- 1336
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1 WHERE `modelid`=22726; -- 22726
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1 WHERE `modelid`=23310; -- 23310
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1 WHERE `modelid`=27879; -- 27879
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.25 WHERE `modelid`=1939; -- 1939
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.25 WHERE `modelid`=720; -- 720
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=16126; -- 16126
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=18836; -- 18836
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=18882; -- 18882
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=18883; -- 18883
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=18884; -- 18884
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=19145; -- 19145
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=19236; -- 19236
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=21270; -- 21270
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=22541; -- 22541
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=22835; -- 22835
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=22837; -- 22837
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=22852; -- 22852
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=22971; -- 22971
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=23132; -- 23132
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=23425; -- 23425
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=23470; -- 23470
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=25920; -- 25920
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=26484; -- 26484
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=26495; -- 26495
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=26496; -- 26496
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=26499; -- 26499
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=26501; -- 26501
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=26502; -- 26502
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=26504; -- 26504
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=27249; -- 27249
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28799; -- 28799
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28800; -- 28800
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28801; -- 28801
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28802; -- 28802
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28803; -- 28803
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28804; -- 28804
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28805; -- 28805
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28806; -- 28806
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28807; -- 28807
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28808; -- 28808
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28809; -- 28809
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=28918; -- 28918
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=29576; -- 29576
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=29577; -- 29577
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=29639; -- 29639
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=29640; -- 29640
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=29641; -- 29641
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=29743; -- 29743
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=29744; -- 29744
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=30373; -- 30373
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=30634; -- 30634
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=30635; -- 30635
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=30662; -- 30662
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=30663; -- 30663
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=30771; -- 30771
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=30772; -- 30772
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=31126; -- 31126
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=1.5 WHERE `modelid`=31194; -- 31194
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=11 WHERE `modelid`=23344; -- 23344
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=2 WHERE `modelid`=19618; -- 19618
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=2 WHERE `modelid`=28419; -- 28419
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=20 WHERE `modelid`=11121; -- 11121
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=20 WHERE `modelid`=27338; -- 27338
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=3 WHERE `modelid`=15431; -- 15431
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=3 WHERE `modelid`=20769; -- 20769
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=6 WHERE `modelid`=23487; -- 23487
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=7 WHERE `modelid`=29270; -- 29270
+UPDATE `creature_model_info` SET `bounding_radius`=1, `combat_reach`=7 WHERE `modelid`=29286; -- 29286
+UPDATE `creature_model_info` SET `bounding_radius`=1.0285, `combat_reach`=0.825 WHERE `modelid`=368; -- 368
+UPDATE `creature_model_info` SET `bounding_radius`=1.0285, `combat_reach`=0.825 WHERE `modelid`=711; -- 711
+UPDATE `creature_model_info` SET `bounding_radius`=1.0465 WHERE `modelid`=721; -- 721
+UPDATE `creature_model_info` SET `bounding_radius`=1.047, `combat_reach`=4.5 WHERE `modelid`=15628; -- 15628
+UPDATE `creature_model_info` SET `bounding_radius`=1.047, `combat_reach`=4.5 WHERE `modelid`=15645; -- 15645
+UPDATE `creature_model_info` SET `bounding_radius`=1.047, `combat_reach`=4.5 WHERE `modelid`=23841; -- 23841
+UPDATE `creature_model_info` SET `bounding_radius`=1.05, `combat_reach`=0.875 WHERE `modelid`=1100; -- 1100
+UPDATE `creature_model_info` SET `bounding_radius`=1.05, `combat_reach`=0.875 WHERE `modelid`=855; -- 855
+UPDATE `creature_model_info` SET `bounding_radius`=1.05, `combat_reach`=7.5 WHERE `modelid`=13170; -- 13170
+UPDATE `creature_model_info` SET `bounding_radius`=1.07217, `combat_reach`=4.455 WHERE `modelid`=29502; -- 29502
+UPDATE `creature_model_info` SET `bounding_radius`=1.080508, `combat_reach`=0.9004238 WHERE `modelid`=1100; -- 1100
+UPDATE `creature_model_info` SET `bounding_radius`=1.090625, `combat_reach`=4.6875 WHERE `modelid`=23976; -- 23976
+UPDATE `creature_model_info` SET `bounding_radius`=1.095763, `combat_reach`=0.9131355 WHERE `modelid`=604; -- 604
+UPDATE `creature_model_info` SET `bounding_radius`=1.1, `combat_reach`=1.65 WHERE `modelid`=15375; -- 15375
+UPDATE `creature_model_info` SET `bounding_radius`=1.1, `combat_reach`=1.65 WHERE `modelid`=16593; -- 16593
+UPDATE `creature_model_info` SET `bounding_radius`=1.1, `combat_reach`=1.65 WHERE `modelid`=19555; -- 19555
+UPDATE `creature_model_info` SET `bounding_radius`=1.1, `combat_reach`=1.65 WHERE `modelid`=22972; -- 22972
+UPDATE `creature_model_info` SET `bounding_radius`=1.1, `combat_reach`=1.65 WHERE `modelid`=29535; -- 29535
+UPDATE `creature_model_info` SET `bounding_radius`=1.116, `combat_reach`=4.5 WHERE `modelid`=29591; -- 29591
+UPDATE `creature_model_info` SET `bounding_radius`=1.116, `combat_reach`=4.5 WHERE `modelid`=29592; -- 29592
+UPDATE `creature_model_info` SET `bounding_radius`=1.125, `combat_reach`=2.25 WHERE `modelid`=31004; -- 31004
+UPDATE `creature_model_info` SET `bounding_radius`=1.125, `combat_reach`=3.125 WHERE `modelid`=14416; -- 14416
+UPDATE `creature_model_info` SET `bounding_radius`=1.15, `combat_reach`=2.3 WHERE `modelid`=14255; -- 14255
+UPDATE `creature_model_info` SET `bounding_radius`=1.16964, `combat_reach`=4.860001 WHERE `modelid`=15609; -- 15609
+UPDATE `creature_model_info` SET `bounding_radius`=1.16964, `combat_reach`=4.860001 WHERE `modelid`=15613; -- 15613
+UPDATE `creature_model_info` SET `bounding_radius`=1.16964, `combat_reach`=4.860001 WHERE `modelid`=15635; -- 15635
+UPDATE `creature_model_info` SET `bounding_radius`=1.16964, `combat_reach`=4.860001 WHERE `modelid`=15644; -- 15644
+UPDATE `creature_model_info` SET `bounding_radius`=1.16964, `combat_reach`=4.860001 WHERE `modelid`=26258; -- 26258
+UPDATE `creature_model_info` SET `bounding_radius`=1.2, `combat_reach`=1.8 WHERE `modelid`=14585; -- 14585
+UPDATE `creature_model_info` SET `bounding_radius`=1.2, `combat_reach`=1.8 WHERE `modelid`=26217; -- 26217
+UPDATE `creature_model_info` SET `bounding_radius`=1.2, `combat_reach`=3 WHERE `modelid`=29756; -- 29756
+UPDATE `creature_model_info` SET `bounding_radius`=1.2075, `combat_reach`=2.25 WHERE `modelid`=6533; -- 6533
+UPDATE `creature_model_info` SET `bounding_radius`=1.222, `combat_reach`=3 WHERE `modelid`=31094; -- 31094
+UPDATE `creature_model_info` SET `bounding_radius`=1.224, `combat_reach`=6 WHERE `modelid`=27898; -- 27898
+UPDATE `creature_model_info` SET `bounding_radius`=1.24, `combat_reach`=4 WHERE `modelid`=21394; -- 21394
+UPDATE `creature_model_info` SET `bounding_radius`=1.24, `combat_reach`=4 WHERE `modelid`=31093; -- 31093
+UPDATE `creature_model_info` SET `bounding_radius`=1.25 WHERE `modelid`=16634; -- 16634
+UPDATE `creature_model_info` SET `bounding_radius`=1.25 WHERE `modelid`=19249; -- 19249
+UPDATE `creature_model_info` SET `bounding_radius`=1.25, `combat_reach`=12.5 WHERE `modelid`=15432; -- 15432
+UPDATE `creature_model_info` SET `bounding_radius`=1.25, `combat_reach`=3.75 WHERE `modelid`=23890; -- 23890
+UPDATE `creature_model_info` SET `bounding_radius`=1.25, `combat_reach`=5 WHERE `modelid`=15343; -- 15343
+UPDATE `creature_model_info` SET `bounding_radius`=1.2501, `combat_reach`=2.25 WHERE `modelid`=834; -- 834
+UPDATE `creature_model_info` SET `bounding_radius`=1.3, `combat_reach`=1.5 WHERE `modelid`=20280; -- 20280
+UPDATE `creature_model_info` SET `bounding_radius`=1.3, `combat_reach`=1.625 WHERE `modelid`=6211; -- 6211
+UPDATE `creature_model_info` SET `bounding_radius`=1.3, `combat_reach`=1.95 WHERE `modelid`=14380; -- 14380
+UPDATE `creature_model_info` SET `bounding_radius`=1.3, `combat_reach`=1.95 WHERE `modelid`=17920; -- 17920
+UPDATE `creature_model_info` SET `bounding_radius`=1.3, `combat_reach`=1.95 WHERE `modelid`=1952; -- 1952
+UPDATE `creature_model_info` SET `bounding_radius`=1.365 WHERE `modelid`=3188; -- 3188
+UPDATE `creature_model_info` SET `bounding_radius`=1.3764, `combat_reach`=3.6 WHERE `modelid`=6089; -- 6089
+UPDATE `creature_model_info` SET `bounding_radius`=1.4, `combat_reach`=1.75 WHERE `modelid`=6830; -- 6830
+UPDATE `creature_model_info` SET `bounding_radius`=1.4, `combat_reach`=1.75 WHERE `modelid`=999; -- 999
+UPDATE `creature_model_info` SET `bounding_radius`=1.4, `combat_reach`=2 WHERE `modelid`=21193; -- 21193
+UPDATE `creature_model_info` SET `bounding_radius`=1.408475, `combat_reach`=1.408475 WHERE `modelid`=7671; -- 7671
+UPDATE `creature_model_info` SET `bounding_radius`=1.41225, `combat_reach`=2.625 WHERE `modelid`=523; -- 523
+UPDATE `creature_model_info` SET `bounding_radius`=1.423729, `combat_reach`=1.423729 WHERE `modelid`=9030; -- 9030
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=1.5 WHERE `modelid`=12336; -- 12336
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=1.5 WHERE `modelid`=17760; -- 17760
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=1.5 WHERE `modelid`=21155; -- 21155
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=1.5 WHERE `modelid`=21158; -- 21158
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=1.5 WHERE `modelid`=22467; -- 22467
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=1.5 WHERE `modelid`=28570; -- 28570
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=1.5 WHERE `modelid`=4065; -- 4065
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=1.5 WHERE `modelid`=7549; -- 7549
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=1.5 WHERE `modelid`=7709; -- 7709
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=1.5 WHERE `modelid`=9031; -- 9031
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=15 WHERE `modelid`=28110; -- 28110
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=2.25 WHERE `modelid`=29764; -- 29764
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=2.25 WHERE `modelid`=29769; -- 29769
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=2.25 WHERE `modelid`=30169; -- 30169
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=2.25 WHERE `modelid`=30450; -- 30450
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=2.25 WHERE `modelid`=30529; -- 30529
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=22.5 WHERE `modelid`=26534; -- 26534
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=3 WHERE `modelid`=12208; -- 12208
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=3 WHERE `modelid`=12210; -- 12210
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=3 WHERE `modelid`=15336; -- 15336
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=3 WHERE `modelid`=26216; -- 26216
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=5 WHERE `modelid`=15512; -- 15512
+UPDATE `creature_model_info` SET `bounding_radius`=1.5, `combat_reach`=6 WHERE `modelid`=15742; -- 15742
+UPDATE `creature_model_info` SET `bounding_radius`=1.55, `combat_reach`=5 WHERE `modelid`=26968; -- 26968
+UPDATE `creature_model_info` SET `bounding_radius`=1.55, `combat_reach`=5 WHERE `modelid`=29815; -- 29815
+UPDATE `creature_model_info` SET `bounding_radius`=1.56, `combat_reach`=2.275 WHERE `modelid`=6085; -- 6085
+UPDATE `creature_model_info` SET `bounding_radius`=1.6, `combat_reach`=6 WHERE `modelid`=15376; -- 15376
+UPDATE `creature_model_info` SET `bounding_radius`=1.668, `combat_reach`=6 WHERE `modelid`=4088; -- 4088
+UPDATE `creature_model_info` SET `bounding_radius`=1.725, `combat_reach`=3.45 WHERE `modelid`=6375; -- 6375
+UPDATE `creature_model_info` SET `bounding_radius`=1.75, `combat_reach`=2.625 WHERE `modelid`=20397; -- 20397
+UPDATE `creature_model_info` SET `bounding_radius`=1.75, `combat_reach`=5.25 WHERE `modelid`=27027; -- 27027
+UPDATE `creature_model_info` SET `bounding_radius`=1.75, `combat_reach`=5.25 WHERE `modelid`=28133; -- 28133
+UPDATE `creature_model_info` SET `bounding_radius`=1.78925, `combat_reach`=1.7 WHERE `modelid`=26706; -- 26706
+UPDATE `creature_model_info` SET `bounding_radius`=1.8 WHERE `modelid`=18287; -- 18287
+UPDATE `creature_model_info` SET `bounding_radius`=1.8, `combat_reach`=1.8 WHERE `modelid`=7672; -- 7672
+UPDATE `creature_model_info` SET `bounding_radius`=1.95, `combat_reach`=3.9 WHERE `modelid`=9584; -- 9584
+UPDATE `creature_model_info` SET `bounding_radius`=1.967, `combat_reach`=1.5 WHERE `modelid`=181; -- 181
+UPDATE `creature_model_info` SET `bounding_radius`=10, `combat_reach`=10 WHERE `modelid`=26100; -- 26100
+UPDATE `creature_model_info` SET `bounding_radius`=10, `combat_reach`=4 WHERE `modelid`=27653; -- 27653
+UPDATE `creature_model_info` SET `bounding_radius`=2 WHERE `modelid`=26759; -- 26759
+UPDATE `creature_model_info` SET `bounding_radius`=2, `combat_reach`=1.5 WHERE `modelid`=22501; -- 22501
+UPDATE `creature_model_info` SET `bounding_radius`=2, `combat_reach`=2 WHERE `modelid`=22981; -- 22981
+UPDATE `creature_model_info` SET `bounding_radius`=2, `combat_reach`=2 WHERE `modelid`=23352; -- 23352
+UPDATE `creature_model_info` SET `bounding_radius`=2, `combat_reach`=2 WHERE `modelid`=26707; -- 26707
+UPDATE `creature_model_info` SET `bounding_radius`=2, `combat_reach`=2 WHERE `modelid`=30792; -- 30792
+UPDATE `creature_model_info` SET `bounding_radius`=2, `combat_reach`=2.5 WHERE `modelid`=24555; -- 24555
+UPDATE `creature_model_info` SET `bounding_radius`=2, `combat_reach`=22 WHERE `modelid`=23447; -- 23447
+UPDATE `creature_model_info` SET `bounding_radius`=2, `combat_reach`=3 WHERE `modelid`=30326; -- 30326
+UPDATE `creature_model_info` SET `bounding_radius`=2, `combat_reach`=4 WHERE `modelid`=31664; -- 31664
+UPDATE `creature_model_info` SET `bounding_radius`=2.015, `combat_reach`=6.5 WHERE `modelid`=26533; -- 26533
+UPDATE `creature_model_info` SET `bounding_radius`=2.25, `combat_reach`=1.875 WHERE `modelid`=15878; -- 15878
+UPDATE `creature_model_info` SET `bounding_radius`=2.3, `combat_reach`=2.3 WHERE `modelid`=29890; -- 29890
+UPDATE `creature_model_info` SET `bounding_radius`=2.4, `combat_reach`=1.5 WHERE `modelid`=21392; -- 21392
+UPDATE `creature_model_info` SET `bounding_radius`=2.5, `combat_reach`=3.125 WHERE `modelid`=7845; -- 7845
+UPDATE `creature_model_info` SET `bounding_radius`=2.625, `combat_reach`=5.25 WHERE `modelid`=6378; -- 6378
+UPDATE `creature_model_info` SET `bounding_radius`=2.6825, `combat_reach`=3.75 WHERE `modelid`=11318; -- 11318
+UPDATE `creature_model_info` SET `bounding_radius`=2.69, `combat_reach`=3 WHERE `modelid`=22336; -- 22336
+UPDATE `creature_model_info` SET `bounding_radius`=2.7, `combat_reach`=2.7 WHERE `modelid`=8270; -- 8270
+UPDATE `creature_model_info` SET `bounding_radius`=2.75, `combat_reach`=2.75 WHERE `modelid`=25337; -- 25337
+UPDATE `creature_model_info` SET `bounding_radius`=2.75, `combat_reach`=2.75 WHERE `modelid`=27481; -- 27481
+UPDATE `creature_model_info` SET `bounding_radius`=2.8675, `combat_reach`=7.5 WHERE `modelid`=28651; -- 28651
+UPDATE `creature_model_info` SET `bounding_radius`=2.9505, `combat_reach`=2.25 WHERE `modelid`=8311; -- 8311
+UPDATE `creature_model_info` SET `bounding_radius`=3 WHERE `modelid`=25249; -- 25249
+UPDATE `creature_model_info` SET `bounding_radius`=3 WHERE `modelid`=26352; -- 26352
+UPDATE `creature_model_info` SET `bounding_radius`=3, `combat_reach`=15 WHERE `modelid`=7271; -- 7271
+UPDATE `creature_model_info` SET `bounding_radius`=3, `combat_reach`=3 WHERE `modelid`=22353; -- 22353
+UPDATE `creature_model_info` SET `bounding_radius`=3, `combat_reach`=3 WHERE `modelid`=26644; -- 26644
+UPDATE `creature_model_info` SET `bounding_radius`=3, `combat_reach`=4.5 WHERE `modelid`=12002; -- 12002
+UPDATE `creature_model_info` SET `bounding_radius`=3, `combat_reach`=5.67 WHERE `modelid`=15654; -- 15654
+UPDATE `creature_model_info` SET `bounding_radius`=3.1, `combat_reach`=10 WHERE `modelid`=28008; -- 28008
+UPDATE `creature_model_info` SET `bounding_radius`=3.26, `combat_reach`=3 WHERE `modelid`=15439; -- 15439
+UPDATE `creature_model_info` SET `bounding_radius`=3.75, `combat_reach`=3.75 WHERE `modelid`=27072; -- 27072
+UPDATE `creature_model_info` SET `bounding_radius`=3.801, `combat_reach`=3.75 WHERE `modelid`=13489; -- 13489
+UPDATE `creature_model_info` SET `bounding_radius`=3.934, `combat_reach`=3 WHERE `modelid`=22327; -- 22327
+UPDATE `creature_model_info` SET `bounding_radius`=4 WHERE `modelid`=27972; -- 27972
+UPDATE `creature_model_info` SET `bounding_radius`=4, `combat_reach`=4 WHERE `modelid`=25325; -- 25325
+UPDATE `creature_model_info` SET `bounding_radius`=4.5, `combat_reach`=6 WHERE `modelid`=23413; -- 23413
+UPDATE `creature_model_info` SET `bounding_radius`=4.5624, `combat_reach`=7.2 WHERE `modelid`=27008; -- 27008
+UPDATE `creature_model_info` SET `bounding_radius`=5, `combat_reach`=12.5 WHERE `modelid`=17445; -- 17445
+UPDATE `creature_model_info` SET `bounding_radius`=6.5, `combat_reach`=19.5 WHERE `modelid`=30652; -- 30652
+UPDATE `creature_model_info` SET `bounding_radius`=7, `combat_reach`=14 WHERE `modelid`=25194; -- 25194
+UPDATE `creature_model_info` SET `combat_reach`=0.1 WHERE `modelid`=26557; -- 26557
+UPDATE `creature_model_info` SET `combat_reach`=0.15 WHERE `modelid`=1160; -- 1160
+UPDATE `creature_model_info` SET `combat_reach`=0.15 WHERE `modelid`=24719; -- 24719
+UPDATE `creature_model_info` SET `combat_reach`=0.15 WHERE `modelid`=2536; -- 2536
+UPDATE `creature_model_info` SET `combat_reach`=0.15 WHERE `modelid`=26530; -- 26530
+UPDATE `creature_model_info` SET `combat_reach`=0.15 WHERE `modelid`=26531; -- 26531
+UPDATE `creature_model_info` SET `combat_reach`=0.15 WHERE `modelid`=26547; -- 26547
+UPDATE `creature_model_info` SET `combat_reach`=0.15 WHERE `modelid`=27861; -- 27861
+UPDATE `creature_model_info` SET `combat_reach`=0.2 WHERE `modelid`=26517; -- 26517
+UPDATE `creature_model_info` SET `combat_reach`=0.2 WHERE `modelid`=26518; -- 26518
+UPDATE `creature_model_info` SET `combat_reach`=0.2 WHERE `modelid`=26519; -- 26519
+UPDATE `creature_model_info` SET `combat_reach`=0.2 WHERE `modelid`=26521; -- 26521
+UPDATE `creature_model_info` SET `combat_reach`=0.2 WHERE `modelid`=27881; -- 27881
+UPDATE `creature_model_info` SET `combat_reach`=0.25 WHERE `modelid`=16259; -- 16259
+UPDATE `creature_model_info` SET `combat_reach`=0.25 WHERE `modelid`=17200; -- 17200
+UPDATE `creature_model_info` SET `combat_reach`=0.3 WHERE `modelid`=25656; -- 25656
+UPDATE `creature_model_info` SET `combat_reach`=0.3 WHERE `modelid`=27718; -- 27718
+UPDATE `creature_model_info` SET `combat_reach`=0.3125 WHERE `modelid`=26524; -- 26524
+UPDATE `creature_model_info` SET `combat_reach`=0.3125 WHERE `modelid`=5966; -- 5966
+UPDATE `creature_model_info` SET `combat_reach`=0.35 WHERE `modelid`=22769; -- 22769
+UPDATE `creature_model_info` SET `combat_reach`=0.35 WHERE `modelid`=23501; -- 23501
+UPDATE `creature_model_info` SET `combat_reach`=0.375 WHERE `modelid`=27719; -- 27719
+UPDATE `creature_model_info` SET `combat_reach`=0.375 WHERE `modelid`=27720; -- 27720
+UPDATE `creature_model_info` SET `combat_reach`=0.4 WHERE `modelid`=26526; -- 26526
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=1206; -- 1206
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=26193; -- 26193
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=28078; -- 28078
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=2954; -- 2954
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=2955; -- 2955
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=2957; -- 2957
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=5448; -- 5448
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=5554; -- 5554
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=5555; -- 5555
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=5556; -- 5556
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=5585; -- 5585
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=5586; -- 5586
+UPDATE `creature_model_info` SET `combat_reach`=0.5 WHERE `modelid`=9563; -- 9563
+UPDATE `creature_model_info` SET `combat_reach`=0.6 WHERE `modelid`=26056; -- 26056
+UPDATE `creature_model_info` SET `combat_reach`=0.6 WHERE `modelid`=27681; -- 27681
+UPDATE `creature_model_info` SET `combat_reach`=0.6 WHERE `modelid`=27682; -- 27682
+UPDATE `creature_model_info` SET `combat_reach`=0.64 WHERE `modelid`=27690; -- 27690
+UPDATE `creature_model_info` SET `combat_reach`=0.6584746 WHERE `modelid`=9750; -- 9750
+UPDATE `creature_model_info` SET `combat_reach`=0.675 WHERE `modelid`=3956; -- 3956
+UPDATE `creature_model_info` SET `combat_reach`=0.75 WHERE `modelid`=26442; -- 26442
+UPDATE `creature_model_info` SET `combat_reach`=0.75 WHERE `modelid`=4449; -- 4449
+UPDATE `creature_model_info` SET `combat_reach`=0.8 WHERE `modelid`=27700; -- 27700
+UPDATE `creature_model_info` SET `combat_reach`=0.8, `gender`=2 WHERE `modelid`=19595; -- 19595
+UPDATE `creature_model_info` SET `combat_reach`=0.825 WHERE `modelid`=28318; -- 28318
+UPDATE `creature_model_info` SET `combat_reach`=0.85 WHERE `modelid`=525; -- 525
+UPDATE `creature_model_info` SET `combat_reach`=0.9 WHERE `modelid`=20833; -- 20833
+UPDATE `creature_model_info` SET `combat_reach`=0.9 WHERE `modelid`=23519; -- 23519
+UPDATE `creature_model_info` SET `combat_reach`=0.9 WHERE `modelid`=2540; -- 2540
+UPDATE `creature_model_info` SET `combat_reach`=1 WHERE `modelid`=1418; -- 1418
+UPDATE `creature_model_info` SET `combat_reach`=1 WHERE `modelid`=23567; -- 23567
+UPDATE `creature_model_info` SET `combat_reach`=1 WHERE `modelid`=25768; -- 25768
+UPDATE `creature_model_info` SET `combat_reach`=1.05 WHERE `modelid`=10957; -- 10957
+UPDATE `creature_model_info` SET `combat_reach`=1.05 WHERE `modelid`=23513; -- 23513
+UPDATE `creature_model_info` SET `combat_reach`=1.084746 WHERE `modelid`=1250; -- 1250
+UPDATE `creature_model_info` SET `combat_reach`=1.125 WHERE `modelid`=20263; -- 20263
+UPDATE `creature_model_info` SET `combat_reach`=1.125 WHERE `modelid`=23514; -- 23514
+UPDATE `creature_model_info` SET `combat_reach`=1.153846 WHERE `modelid`=25754; -- 25754
+UPDATE `creature_model_info` SET `combat_reach`=1.2 WHERE `modelid`=1041; -- 1041
+UPDATE `creature_model_info` SET `combat_reach`=1.25 WHERE `modelid`=27726; -- 27726
+UPDATE `creature_model_info` SET `combat_reach`=1.25 WHERE `modelid`=28618; -- 28618
+UPDATE `creature_model_info` SET `combat_reach`=1.25 WHERE `modelid`=31727; -- 31727
+UPDATE `creature_model_info` SET `combat_reach`=1.35 WHERE `modelid`=27820; -- 27820
+UPDATE `creature_model_info` SET `combat_reach`=1.35 WHERE `modelid`=4636; -- 4636
+UPDATE `creature_model_info` SET `combat_reach`=1.355085 WHERE `modelid`=2437; -- 2437
+UPDATE `creature_model_info` SET `combat_reach`=1.355085 WHERE `modelid`=598; -- 598
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=11804; -- 11804
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=12200; -- 12200
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1427; -- 1427
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1429; -- 1429
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1431; -- 1431
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1433; -- 1433
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1434; -- 1434
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1436; -- 1436
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1437; -- 1437
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1438; -- 1438
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1439; -- 1439
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1440; -- 1440
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1443; -- 1443
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1444; -- 1444
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1445; -- 1445
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1446; -- 1446
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1448; -- 1448
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1450; -- 1450
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=15242; -- 15242
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=15253; -- 15253
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1525; -- 1525
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=1541; -- 1541
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=15594; -- 15594
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17560; -- 17560
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17585; -- 17585
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17588; -- 17588
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17598; -- 17598
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17599; -- 17599
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17600; -- 17600
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17602; -- 17602
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17603; -- 17603
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17604; -- 17604
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17606; -- 17606
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17609; -- 17609
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17612; -- 17612
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17616; -- 17616
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17619; -- 17619
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17648; -- 17648
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17680; -- 17680
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17691; -- 17691
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17705; -- 17705
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17728; -- 17728
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17755; -- 17755
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17756; -- 17756
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17757; -- 17757
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17763; -- 17763
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17766; -- 17766
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17767; -- 17767
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17818; -- 17818
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17823; -- 17823
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17824; -- 17824
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17833; -- 17833
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17837; -- 17837
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17838; -- 17838
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17955; -- 17955
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17956; -- 17956
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17973; -- 17973
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=17974; -- 17974
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18027; -- 18027
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18214; -- 18214
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18221; -- 18221
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18222; -- 18222
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18281; -- 18281
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18282; -- 18282
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18284; -- 18284
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18285; -- 18285
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18300; -- 18300
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18301; -- 18301
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18302; -- 18302
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18307; -- 18307
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18324; -- 18324
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18418; -- 18418
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18460; -- 18460
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18462; -- 18462
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18464; -- 18464
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18512; -- 18512
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18513; -- 18513
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18514; -- 18514
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18528; -- 18528
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18529; -- 18529
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18530; -- 18530
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18538; -- 18538
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18549; -- 18549
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18570; -- 18570
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18626; -- 18626
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18642; -- 18642
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=18656; -- 18656
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=19108; -- 19108
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=19213; -- 19213
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=19284; -- 19284
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=19297; -- 19297
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=19720; -- 19720
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=19721; -- 19721
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20279; -- 20279
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20312; -- 20312
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20333; -- 20333
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20334; -- 20334
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20388; -- 20388
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20398; -- 20398
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20478; -- 20478
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20610; -- 20610
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20660; -- 20660
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20661; -- 20661
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20668; -- 20668
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20694; -- 20694
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=20962; -- 20962
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=21039; -- 21039
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=21156; -- 21156
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=21273; -- 21273
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=21422; -- 21422
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=21440; -- 21440
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=21793; -- 21793
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22003; -- 22003
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22042; -- 22042
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22044; -- 22044
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22088; -- 22088
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22089; -- 22089
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22120; -- 22120
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22124; -- 22124
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22125; -- 22125
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22127; -- 22127
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22181; -- 22181
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22199; -- 22199
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22243; -- 22243
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22474; -- 22474
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22475; -- 22475
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22485; -- 22485
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22611; -- 22611
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22719; -- 22719
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22750; -- 22750
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=22873; -- 22873
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23131; -- 23131
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23136; -- 23136
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23137; -- 23137
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23138; -- 23138
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23337; -- 23337
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23398; -- 23398
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23434; -- 23434
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23464; -- 23464
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23483; -- 23483
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23681; -- 23681
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23772; -- 23772
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23774; -- 23774
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23783; -- 23783
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23793; -- 23793
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23826; -- 23826
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23962; -- 23962
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=23999; -- 23999
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=24009; -- 24009
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=24071; -- 24071
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=24072; -- 24072
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=24235; -- 24235
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=24256; -- 24256
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=24354; -- 24354
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=24357; -- 24357
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=24607; -- 24607
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=24826; -- 24826
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25071; -- 25071
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25166; -- 25166
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25209; -- 25209
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25318; -- 25318
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25594; -- 25594
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25603; -- 25603
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25604; -- 25604
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25605; -- 25605
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25607; -- 25607
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25608; -- 25608
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25609; -- 25609
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25610; -- 25610
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25611; -- 25611
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25613; -- 25613
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25614; -- 25614
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25615; -- 25615
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25620; -- 25620
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25621; -- 25621
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25622; -- 25622
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25623; -- 25623
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25626; -- 25626
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25635; -- 25635
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25636; -- 25636
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25637; -- 25637
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25644; -- 25644
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25645; -- 25645
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25646; -- 25646
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25647; -- 25647
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25648; -- 25648
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25649; -- 25649
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25650; -- 25650
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25651; -- 25651
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25655; -- 25655
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25673; -- 25673
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25674; -- 25674
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25692; -- 25692
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25748; -- 25748
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25754; -- 25754
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25756; -- 25756
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25757; -- 25757
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25758; -- 25758
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25759; -- 25759
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25793; -- 25793
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25794; -- 25794
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25795; -- 25795
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25797; -- 25797
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25799; -- 25799
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25800; -- 25800
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25801; -- 25801
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25806; -- 25806
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25807; -- 25807
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25874; -- 25874
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25875; -- 25875
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25876; -- 25876
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25877; -- 25877
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25878; -- 25878
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25879; -- 25879
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25880; -- 25880
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25881; -- 25881
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25882; -- 25882
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25889; -- 25889
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25901; -- 25901
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25952; -- 25952
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25953; -- 25953
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25954; -- 25954
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25955; -- 25955
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25983; -- 25983
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25987; -- 25987
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25988; -- 25988
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25989; -- 25989
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25990; -- 25990
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25992; -- 25992
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25993; -- 25993
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25994; -- 25994
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=25995; -- 25995
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26065; -- 26065
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26067; -- 26067
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26068; -- 26068
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26069; -- 26069
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26070; -- 26070
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26072; -- 26072
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26073; -- 26073
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26074; -- 26074
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26075; -- 26075
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26138; -- 26138
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26212; -- 26212
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26213; -- 26213
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26218; -- 26218
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26220; -- 26220
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26239; -- 26239
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26299; -- 26299
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26303; -- 26303
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26307; -- 26307
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26309; -- 26309
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26310; -- 26310
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26311; -- 26311
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26312; -- 26312
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26313; -- 26313
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26321; -- 26321
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26330; -- 26330
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26331; -- 26331
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26335; -- 26335
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26338; -- 26338
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26339; -- 26339
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26347; -- 26347
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26362; -- 26362
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26363; -- 26363
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26372; -- 26372
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26373; -- 26373
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26375; -- 26375
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26376; -- 26376
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26377; -- 26377
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26386; -- 26386
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26390; -- 26390
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26391; -- 26391
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26395; -- 26395
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26396; -- 26396
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26397; -- 26397
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26398; -- 26398
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26414; -- 26414
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26417; -- 26417
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26438; -- 26438
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26440; -- 26440
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26441; -- 26441
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26443; -- 26443
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26444; -- 26444
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26445; -- 26445
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26463; -- 26463
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26464; -- 26464
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26465; -- 26465
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26494; -- 26494
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26503; -- 26503
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26505; -- 26505
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26570; -- 26570
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26764; -- 26764
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26766; -- 26766
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26779; -- 26779
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26832; -- 26832
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26937; -- 26937
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26997; -- 26997
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=26998; -- 26998
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27019; -- 27019
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27042; -- 27042
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27068; -- 27068
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27114; -- 27114
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27115; -- 27115
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27157; -- 27157
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27158; -- 27158
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27160; -- 27160
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27170; -- 27170
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27172; -- 27172
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27173; -- 27173
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27174; -- 27174
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27175; -- 27175
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27177; -- 27177
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27181; -- 27181
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27183; -- 27183
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27185; -- 27185
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27187; -- 27187
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27191; -- 27191
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27192; -- 27192
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27195; -- 27195
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27287; -- 27287
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27323; -- 27323
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27328; -- 27328
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27332; -- 27332
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27333; -- 27333
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27334; -- 27334
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27393; -- 27393
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27398; -- 27398
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27449; -- 27449
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27509; -- 27509
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27549; -- 27549
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27556; -- 27556
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27559; -- 27559
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27743; -- 27743
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27756; -- 27756
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27766; -- 27766
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27782; -- 27782
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27786; -- 27786
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27787; -- 27787
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27799; -- 27799
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27800; -- 27800
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27801; -- 27801
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27822; -- 27822
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27908; -- 27908
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27909; -- 27909
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27910; -- 27910
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27911; -- 27911
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27912; -- 27912
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27915; -- 27915
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27944; -- 27944
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27949; -- 27949
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27952; -- 27952
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27954; -- 27954
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27956; -- 27956
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27958; -- 27958
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27962; -- 27962
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27963; -- 27963
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27965; -- 27965
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27998; -- 27998
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=27999; -- 27999
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28000; -- 28000
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28006; -- 28006
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28019; -- 28019
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28066; -- 28066
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28119; -- 28119
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28120; -- 28120
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28123; -- 28123
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28124; -- 28124
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28125; -- 28125
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28145; -- 28145
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28147; -- 28147
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28148; -- 28148
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28149; -- 28149
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28150; -- 28150
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28151; -- 28151
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28152; -- 28152
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28153; -- 28153
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28154; -- 28154
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28155; -- 28155
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28156; -- 28156
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28159; -- 28159
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28161; -- 28161
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28163; -- 28163
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28164; -- 28164
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28166; -- 28166
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28168; -- 28168
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28169; -- 28169
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28170; -- 28170
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28172; -- 28172
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28173; -- 28173
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28174; -- 28174
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28176; -- 28176
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28185; -- 28185
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28194; -- 28194
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28198; -- 28198
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28202; -- 28202
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28203; -- 28203
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28204; -- 28204
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28208; -- 28208
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28291; -- 28291
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28317; -- 28317
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28433; -- 28433
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28738; -- 28738
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28755; -- 28755
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28758; -- 28758
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28976; -- 28976
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=28987; -- 28987
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29075; -- 29075
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29145; -- 29145
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29146; -- 29146
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29147; -- 29147
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29148; -- 29148
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29489; -- 29489
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29573; -- 29573
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=2974; -- 2974
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29828; -- 29828
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29830; -- 29830
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29832; -- 29832
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29833; -- 29833
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29834; -- 29834
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29835; -- 29835
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29836; -- 29836
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=29921; -- 29921
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=30042; -- 30042
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=30156; -- 30156
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=30311; -- 30311
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=30439; -- 30439
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=30685; -- 30685
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=30764; -- 30764
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=30842; -- 30842
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=30863; -- 30863
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=30867; -- 30867
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=3133; -- 3133
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=31548; -- 31548
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=3167; -- 3167
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=31719; -- 31719
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=31720; -- 31720
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=31726; -- 31726
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=31738; -- 31738
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=31762; -- 31762
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=31841; -- 31841
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=3233; -- 3233
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=3246; -- 3246
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=4888; -- 4888
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=5074; -- 5074
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=5082; -- 5082
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=5444; -- 5444
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=5446; -- 5446
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=5545; -- 5545
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=5546; -- 5546
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=5547; -- 5547
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=5551; -- 5551
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=5567; -- 5567
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=7991; -- 7991
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=7992; -- 7992
+UPDATE `creature_model_info` SET `combat_reach`=1.5 WHERE `modelid`=9768; -- 9768
+UPDATE `creature_model_info` SET `combat_reach`=1.5, `gender`=2 WHERE `modelid`=29833; -- 29833
+UPDATE `creature_model_info` SET `combat_reach`=1.5, `gender`=2 WHERE `modelid`=29836; -- 29836
+UPDATE `creature_model_info` SET `combat_reach`=1.575 WHERE `modelid`=24792; -- 24792
+UPDATE `creature_model_info` SET `combat_reach`=1.599153 WHERE `modelid`=9958; -- 9958
+UPDATE `creature_model_info` SET `combat_reach`=1.65 WHERE `modelid`=19744; -- 19744
+UPDATE `creature_model_info` SET `combat_reach`=1.65 WHERE `modelid`=24313; -- 24313
+UPDATE `creature_model_info` SET `combat_reach`=1.65 WHERE `modelid`=24916; -- 24916
+UPDATE `creature_model_info` SET `combat_reach`=1.65 WHERE `modelid`=25947; -- 25947
+UPDATE `creature_model_info` SET `combat_reach`=1.65 WHERE `modelid`=26532; -- 26532
+UPDATE `creature_model_info` SET `combat_reach`=1.65 WHERE `modelid`=27154; -- 27154
+UPDATE `creature_model_info` SET `combat_reach`=1.65 WHERE `modelid`=27215; -- 27215
+UPDATE `creature_model_info` SET `combat_reach`=1.65 WHERE `modelid`=27216; -- 27216
+UPDATE `creature_model_info` SET `combat_reach`=1.65 WHERE `modelid`=27217; -- 27217
+UPDATE `creature_model_info` SET `combat_reach`=1.65 WHERE `modelid`=29076; -- 29076
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=25602; -- 25602
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=25618; -- 25618
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=25619; -- 25619
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=25791; -- 25791
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=26300; -- 26300
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=26374; -- 26374
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=26378; -- 26378
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=26437; -- 26437
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=27465; -- 27465
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=27657; -- 27657
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28143; -- 28143
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28144; -- 28144
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28146; -- 28146
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28160; -- 28160
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28162; -- 28162
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28165; -- 28165
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28167; -- 28167
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28171; -- 28171
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28179; -- 28179
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28199; -- 28199
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=28432; -- 28432
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=30358; -- 30358
+UPDATE `creature_model_info` SET `combat_reach`=1.725 WHERE `modelid`=30686; -- 30686
+UPDATE `creature_model_info` SET `combat_reach`=1.8 WHERE `modelid`=24358; -- 24358
+UPDATE `creature_model_info` SET `combat_reach`=1.8 WHERE `modelid`=27587; -- 27587
+UPDATE `creature_model_info` SET `combat_reach`=1.8 WHERE `modelid`=27592; -- 27592
+UPDATE `creature_model_info` SET `combat_reach`=1.8 WHERE `modelid`=27886; -- 27886
+UPDATE `creature_model_info` SET `combat_reach`=1.8 WHERE `modelid`=28118; -- 28118
+UPDATE `creature_model_info` SET `combat_reach`=1.8 WHERE `modelid`=30799; -- 30799
+UPDATE `creature_model_info` SET `combat_reach`=1.8 WHERE `modelid`=31736; -- 31736
+UPDATE `creature_model_info` SET `combat_reach`=1.875 WHERE `modelid`=24352; -- 24352
+UPDATE `creature_model_info` SET `combat_reach`=1.875 WHERE `modelid`=26770; -- 26770
+UPDATE `creature_model_info` SET `combat_reach`=1.875 WHERE `modelid`=26771; -- 26771
+UPDATE `creature_model_info` SET `combat_reach`=1.875 WHERE `modelid`=28222; -- 28222
+UPDATE `creature_model_info` SET `combat_reach`=1.95 WHERE `modelid`=26847; -- 26847
+UPDATE `creature_model_info` SET `combat_reach`=1.95 WHERE `modelid`=27616; -- 27616
+UPDATE `creature_model_info` SET `combat_reach`=10 WHERE `modelid`=2718; -- 2718
+UPDATE `creature_model_info` SET `combat_reach`=10 WHERE `modelid`=27225; -- 27225
+UPDATE `creature_model_info` SET `combat_reach`=10 WHERE `modelid`=27813; -- 27813
+UPDATE `creature_model_info` SET `combat_reach`=18 WHERE `modelid`=27035; -- 27035
+UPDATE `creature_model_info` SET `combat_reach`=18 WHERE `modelid`=27979; -- 27979
+UPDATE `creature_model_info` SET `combat_reach`=2.025 WHERE `modelid`=16024; -- 16024
+UPDATE `creature_model_info` SET `combat_reach`=2.025 WHERE `modelid`=24066; -- 24066
+UPDATE `creature_model_info` SET `combat_reach`=2.07 WHERE `modelid`=31713; -- 31713
+UPDATE `creature_model_info` SET `combat_reach`=2.1 WHERE `modelid`=30977; -- 30977
+UPDATE `creature_model_info` SET `combat_reach`=2.1 WHERE `modelid`=30978; -- 30978
+UPDATE `creature_model_info` SET `combat_reach`=2.1 WHERE `modelid`=30979; -- 30979
+UPDATE `creature_model_info` SET `combat_reach`=2.1 WHERE `modelid`=30980; -- 30980
+UPDATE `creature_model_info` SET `combat_reach`=2.1 WHERE `modelid`=30981; -- 30981
+UPDATE `creature_model_info` SET `combat_reach`=2.125 WHERE `modelid`=833; -- 833
+UPDATE `creature_model_info` SET `combat_reach`=2.5 WHERE `modelid`=22256; -- 22256
+UPDATE `creature_model_info` SET `combat_reach`=2.55 WHERE `modelid`=27919; -- 27919
+UPDATE `creature_model_info` SET `combat_reach`=2.55 WHERE `modelid`=27930; -- 27930
+UPDATE `creature_model_info` SET `combat_reach`=2.55 WHERE `modelid`=27931; -- 27931
+UPDATE `creature_model_info` SET `combat_reach`=2.625 WHERE `modelid`=30821; -- 30821
+UPDATE `creature_model_info` SET `combat_reach`=2.625 WHERE `modelid`=31819; -- 31819
+UPDATE `creature_model_info` SET `combat_reach`=2.9325 WHERE `modelid`=27917; -- 27917
+UPDATE `creature_model_info` SET `combat_reach`=3 WHERE `modelid`=13109; -- 13109
+UPDATE `creature_model_info` SET `combat_reach`=3 WHERE `modelid`=13110; -- 13110
+UPDATE `creature_model_info` SET `combat_reach`=3 WHERE `modelid`=13172; -- 13172
+UPDATE `creature_model_info` SET `combat_reach`=3 WHERE `modelid`=17679; -- 17679
+UPDATE `creature_model_info` SET `combat_reach`=3 WHERE `modelid`=23823; -- 23823
+UPDATE `creature_model_info` SET `combat_reach`=3 WHERE `modelid`=26101; -- 26101
+UPDATE `creature_model_info` SET `combat_reach`=3.3 WHERE `modelid`=27064; -- 27064
+UPDATE `creature_model_info` SET `combat_reach`=3.45 WHERE `modelid`=20750; -- 20750
+UPDATE `creature_model_info` SET `combat_reach`=3.5 WHERE `modelid`=1988; -- 1988
+UPDATE `creature_model_info` SET `combat_reach`=3.75 WHERE `modelid`=28183; -- 28183
+UPDATE `creature_model_info` SET `combat_reach`=3.75 WHERE `modelid`=30972; -- 30972
+UPDATE `creature_model_info` SET `combat_reach`=3.75 WHERE `modelid`=30973; -- 30973
+UPDATE `creature_model_info` SET `combat_reach`=35 WHERE `modelid`=24934; -- 24934
+UPDATE `creature_model_info` SET `combat_reach`=4 WHERE `modelid`=26922; -- 26922
+UPDATE `creature_model_info` SET `combat_reach`=4 WHERE `modelid`=28134; -- 28134
+UPDATE `creature_model_info` SET `combat_reach`=4.05 WHERE `modelid`=28207; -- 28207
+UPDATE `creature_model_info` SET `combat_reach`=4.05 WHERE `modelid`=29820; -- 29820
+UPDATE `creature_model_info` SET `combat_reach`=4.375 WHERE `modelid`=27226; -- 27226
+UPDATE `creature_model_info` SET `combat_reach`=4.5 WHERE `modelid`=24484; -- 24484
+UPDATE `creature_model_info` SET `combat_reach`=5 WHERE `modelid`=24497; -- 24497
+UPDATE `creature_model_info` SET `combat_reach`=5 WHERE `modelid`=28132; -- 28132
+UPDATE `creature_model_info` SET `combat_reach`=5.25 WHERE `modelid`=24307; -- 24307
+UPDATE `creature_model_info` SET `combat_reach`=5.85 WHERE `modelid`=25218; -- 25218
+UPDATE `creature_model_info` SET `combat_reach`=6 WHERE `modelid`=12029; -- 12029
+UPDATE `creature_model_info` SET `combat_reach`=6 WHERE `modelid`=27074; -- 27074
+UPDATE `creature_model_info` SET `combat_reach`=6.75 WHERE `modelid`=25012; -- 25012
+UPDATE `creature_model_info` SET `combat_reach`=7.5 WHERE `modelid`=27071; -- 27071
+UPDATE `creature_model_info` SET `combat_reach`=8 WHERE `modelid`=27408; -- 27408
+UPDATE `creature_model_info` SET `combat_reach`=9 WHERE `modelid`=27982; -- 27982
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=1236; -- 1236
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=13069; -- 13069
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=16436; -- 16436
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=17265; -- 17265
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=17266; -- 17266
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=17905; -- 17905
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=20115; -- 20115
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=20116; -- 20116
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=20118; -- 20118
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=2289; -- 2289
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=22910; -- 22910
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=27377; -- 27377
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=28749; -- 28749
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=28750; -- 28750
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=28930; -- 28930
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=4859; -- 4859
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=892; -- 892
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid`=918; -- 918
+UPDATE `creature_model_info` SET `gender`=1 WHERE `modelid`=2281; -- 2281
+UPDATE `creature_model_info` SET `gender`=1 WHERE `modelid`=9786; -- 9786
+UPDATE `creature_model_info` SET `gender`=2 WHERE `modelid`=18722; -- 18722
+UPDATE `creature_model_info` SET `gender`=2 WHERE `modelid`=24808; -- 24808
+UPDATE `creature_model_info` SET `gender`=2 WHERE `modelid`=29103; -- 29103
diff --git a/sql/updates/world/2014_09_06_05_world_creature_template.sql b/sql/updates/world/2014_09_06_05_world_creature_template.sql
new file mode 100644
index 00000000000..6578b2c7a91
--- /dev/null
+++ b/sql/updates/world/2014_09_06_05_world_creature_template.sql
@@ -0,0 +1,2 @@
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `BaseAttackTime` = 0;
+UPDATE `creature_template` SET `RangeAttackTime`=2000 WHERE `RangeAttackTime` = 0;
diff --git a/sql/updates/world/2014_09_06_06_world_locales_gameobject.sql b/sql/updates/world/2014_09_06_06_world_locales_gameobject.sql
new file mode 100644
index 00000000000..b749c999434
--- /dev/null
+++ b/sql/updates/world/2014_09_06_06_world_locales_gameobject.sql
@@ -0,0 +1,51 @@
+SET NAMES 'UTF8';
+
+UPDATE `locales_gameobject` SET `name_loc2` = "Disparu : caporal Keeshan", `name_loc3` = "Vermisst: Korporal Keeshan ", `name_loc6` = "Desaparecido: Cabo Keeshan ", `name_loc8` = "Пропавший без вести: капрал Кеешан" WHERE `entry` = 1726; -- old - fr: Disparu !; de: Vermisst:; es: ¡Desaparecido!; ru: Пропали без вести!
+UPDATE `locales_gameobject` SET `name_loc2` = "Botte de plantes ", `name_loc3` = "Pflanzenbündel ", `name_loc6` = "Paquete de plantas ", `name_loc8` = "Пучок трав" WHERE `entry` = 17282; -- old - fr: Cheveux de Bathran ; de: Bathranshaar ; es: Cabello de Bathran; ru: Батранов волос
+UPDATE `locales_gameobject` SET `name_loc2` = "Hivernale", `name_loc3` = "Winterbiss ", `name_loc6` = "Invernalia ", `name_loc8` = "Морозник" WHERE `entry` = 2044; -- old - fr: Dents de dragon; de: Drachenzahn; es: Dientes de dragón ; ru: Драконьи зубы
+UPDATE `locales_gameobject` SET `name_loc2` = "Avis de recherche : Lieutenant Tripecroc ", `name_loc3` = "GESUCHT: Leutnant Fangor ", `name_loc6` = "Se busca: Teniente Fangore ", `name_loc8` = "Разыскивается: лейтенант Фангор " WHERE `entry` = 47; -- old - fr: Avis de recherche !; de: GESUCHT: ; es: ¡Se busca!; ru: Розыск!
+UPDATE `locales_gameobject` SET `name_loc2` = "Cartographie ", `name_loc3` = "Kartografie", `name_loc6` = "Cartografía", `name_loc8` = "Картография " WHERE `entry` = 58626; -- old - fr: Archéologie; de: Archäologie; es: Arqueología ; ru: Археология
+UPDATE `locales_gameobject` SET `name_loc2` = "Tastebière-cadeau de la fête des Brasseurs ", `name_loc3` = "Freibierkrug des Braufests ", `name_loc6` = "Jarra de degustación de la Fiesta de la cerveza de obsequio", `name_loc8` = "Бесплатное пиво Хмельного фестиваля " WHERE `entry` = 186189; -- old - fr: Tastebière sans alcool de la fête des Brasseurs; de: Krug alkoholfreies Braufestbier; es: Jarra de degustación de la Fiesta de la Cerveza sin alcohol ; ru: Безалкогольный пробный напиток Хмельного фестиваля
+UPDATE `locales_gameobject` SET `name_loc2` = "Cage de Kraz ", `name_loc3` = "Kraz' Käfig", `name_loc6` = "Jaula de Kraz", `name_loc8` = "Клетка Краза" WHERE `entry` = 187379; -- old - fr: Cage de Norkani; de: Norkanis Käfig ; es: Jaula de Norkani; ru: Клетка Норкани
+UPDATE `locales_gameobject` SET `name_loc2` = "Cage de Harkor ", `name_loc3` = "Harkors Käfig", `name_loc6` = "Jaula de Harkor", `name_loc8` = "Клетка Харкора" WHERE `entry` = 187378; -- old - fr: Cage de Bakkalzu ; de: Bakkalzus Käfig; es: Jaula de Bakkalzu ; ru: Клетка Баккальзу
+UPDATE `locales_gameobject` SET `name_loc2` = "Paquet de Kraz ", `name_loc3` = "Krazs Päckchen ", `name_loc6` = "Paquete de Kraz", `name_loc8` = "Тюк Краза " WHERE `entry` = 186667; -- old - fr: Paquet de Norkani; de: Norkanis Päckchen; es: Paquete de Norkani; ru: Тюк Норкани
+UPDATE `locales_gameobject` SET `name_loc2` = "Coffre de Kraz ", `name_loc3` = "Krazs Truhe", `name_loc6` = "Cofre de Kraz", `name_loc8` = "Сундук Краза" WHERE `entry` = 186658; -- old - fr: Coffre de Norkani; de: Norkanis Truhe ; es: Cofre de Norkani; ru: Сундук Норкани
+UPDATE `locales_gameobject` SET `name_loc2` = "Guilde des mineurs de la montagne profonde ", `name_loc3` = "Tiefenbergbaugilde ", `name_loc6` = "Gremio de minería de Montañahonda", `name_loc8` = "Гильдия горняков Тайной Горы" WHERE `entry` = 143344; -- old - fr: Minage & joaillerie de la Montagne profonde; de: Tiefenberg Bergbau & Juwelierskunst; es: Minería y joyería de Montehondo ; ru: Гильдия рудокопов и ювелиров Темной Горы
+UPDATE `locales_gameobject` SET `name_loc2` = "Vase d'Ashli ", `name_loc3` = "Ashlis Vase", `name_loc6` = "Jarrón de Ashli", `name_loc8` = "Ваза Эшли " WHERE `entry` = 186671; -- old - fr: Vase de Kasha; de: Kashas Vase; es: Jarrón de Kasha ; ru: Ваза Кайши
+UPDATE `locales_gameobject` SET `name_loc2` = "Cage d'Ashli ", `name_loc3` = "Ashlis Käfig ", `name_loc6` = "Jaula de Ashli ", `name_loc8` = "Клетка Эшли " WHERE `entry` = 187380; -- old - fr: Cage de Kasha; de: Kashas Käfig ; es: Jaula de Kasha; ru: Клетка Кайши
+UPDATE `locales_gameobject` SET `name_loc2` = "Sac d'Ashli", `name_loc3` = "Ashlis Tasche", `name_loc6` = "Bolsa de Ashli ", `name_loc8` = "Сумка Эшли" WHERE `entry` = 186672; -- old - fr: Sac de Kasha ; de: Kashas Tasche; es: Bolsa de Kasha; ru: Сумка Кайши
+UPDATE `locales_gameobject` SET `name_loc2` = "Sacoche de Harkor", `name_loc3` = "Harkors Ranzen ", `name_loc6` = "Cartera de Harkor", `name_loc8` = "Сумка Харкора " WHERE `entry` = 187021; -- old - fr: Sacoche de Bakkalzu; de: Bakkalzus Ranzen ; es: Cartera de Bakkalzu ; ru: Сумка Баккальзу
+UPDATE `locales_gameobject` SET `name_loc2` = "Malle de Tanzar", `name_loc3` = "Tanzars Koffer ", `name_loc6` = "Baúl de Tanzar ", `name_loc8` = "Сундучок Танзара" WHERE `entry` = 186648; -- old - fr: Malle d'Hazlek ; de: Hazleks Koffer ; es: Baúl de Hazlek; ru: Сундучок Хазлека
+UPDATE `locales_gameobject` SET `name_loc2` = "Cage de Tanzar ", `name_loc3` = "Tanzars Käfig", `name_loc6` = "Jaula de Tanzar", `name_loc8` = "Клетка Танзара" WHERE `entry` = 187377; -- old - fr: Cage d'Hazlek; de: Hazleks Käfig; es: Jaula de Hazlek ; ru: Клетка Хазлека
+UPDATE `locales_gameobject` SET `name_loc2` = "Forgeron de Baie-du-Butin", `name_loc3` = "Schmiede von Beutebucht", `name_loc6` = "Herrero de Bahía del Botín ", `name_loc8` = "Кузнец Пиратской Бухты" WHERE `entry` = 169967; -- old - fr: Forge; de: Schmied; es: Herrería; ru: Кузница
+UPDATE `locales_gameobject` SET `name_loc2` = "Tonneau de bière de Harkor ", `name_loc3` = "Harkors Braufässchen ", `name_loc6` = "Barril de cerveza de Harkor", `name_loc8` = "Бочонок пива Харкора" WHERE `entry` = 186748; -- old - fr: Tonneau de bière de Bakkalzu ; de: Bakkalzus Braufässchen ; es: Barril de cerveza de Bakkalzu ; ru: Бочонок пива Баккальзу
+UPDATE `locales_gameobject` SET `name_loc2` = "Caisses de ravitaillement de la Croisée", `name_loc3` = "Vorratskisten des Wegekreuzes", `name_loc6` = "Cajones de suministros de El Cruce ", `name_loc8` = "Ящики с припасами для Перекрестка " WHERE `entry` = 175708; -- old - fr: Caisse de ravitaillement de la Croisée ; de: Vorratskiste des Wegekreuzes ; es: Cajón de suministros de El Cruce; ru: Ящик с припасами Перекрестка
+UPDATE `locales_gameobject` SET `name_loc2` = "Bannière de Karang ", `name_loc3` = "Karangs Banner ", `name_loc6` = "Estandarte de Karang ", `name_loc8` = "Знамя Каранга " WHERE `entry` = 178205; -- old - fr: Bannière de Senani ; de: Senanis Banner ; es: Estandarte de Senani; ru: Знамя Сенани
+UPDATE `locales_gameobject` SET `name_loc2` = "Fusée de feu d'artifice, Promotion ", `name_loc3` = "Feuerwerksrakete, Aktion ", `name_loc6` = "Cohete de fuegos artificiales, promoción ", `name_loc8` = "Ракета фейерверка, продвижение" WHERE `entry` = 181886; -- old - fr: Fusée de feu d'artifice violet ; de: Lila Feuerwerksrakete; es: Cohete de fuegos artificiales morado; ru: Лиловая ракета фейерверка
+UPDATE `locales_gameobject` SET `name_loc2` = "Bois contaminé ", `name_loc3` = "Besudeltes Holz", `name_loc6` = "Madera mácula", `name_loc8` = "Гнилое дерево " WHERE `entry` = 181916; -- old - fr: Bois gangrené de Satyrnaar ; de: Verdorbenes Satyrnaarholz; es: Madera vil de Satyrnaar ; ru: Связка оскверненной древесины Сатирнаара
+UPDATE `locales_gameobject` SET `name_loc2` = "Bateau vers Auberdine", `name_loc3` = "Schiff nach Auberdine", `name_loc6` = "Barco a Auberdine", `name_loc8` = "Корабль в Аубердин" WHERE `entry` = 181985; -- old - fr: Bateau vers Rut'Theran ; de: Schiff nach Rut'Theran ; es: Barco a la Aldea Rut'theran ; ru: Корабль в деревню Рут'Теран
+UPDATE `locales_gameobject` SET `name_loc2` = "Enchantement ", `name_loc3` = "Verzauberkunst ", `name_loc6` = "Encantamiento", `name_loc8` = "Наложение чар " WHERE `entry` = 183875; -- old - fr: Enchantement & Calligraphie; de: Verzauberkunst & Inschriftenkunde; es: Encantamiento e inscripción ; ru: Наложение чар и начертание
+UPDATE `locales_gameobject` SET `name_loc2` = "Flèche givrante I", `name_loc3` = "Eiskältepfeil I", `name_loc6` = "Flecha helada I", `name_loc8` = "Замораживающая стрела I " WHERE `entry` = 193771; -- old - fr: Piège givrant; de: Eiskältefalle; es: Trampa congelante ; ru: Замораживающая ловушка
+UPDATE `locales_gameobject` SET `name_loc2` = "Canon de l'Alliance", `name_loc3` = "Allianz Kannone", `name_loc6` = "Cañón de la alianza", `name_loc8` = "Пушка Альянса " WHERE `entry` = 185122; -- old - fr: Ogres de la Masse-sanglante en grande conversation ; de: Sich unterhaltende Oger der Blutschläger ; es: Ogros de Machacasangre hablando ; ru: Беседующие огры из клана Кровавого Молота
+UPDATE `locales_gameobject` SET `name_loc2` = "Tram ", `name_loc3` = "U-Bahn ", `name_loc6` = "Tranvía Subterráneo", `name_loc8` = "Подземка" WHERE `entry` = 176086; -- old - fr: Cuirasse couverte de runes inachevée ; de: Ungeschmiedete runenbedeckte Brustplatte ; es: Coraza cubierta de runas sin forjar ; ru: Заготовка рунической кирасы
+UPDATE `locales_gameobject` SET `name_loc2` = "Fleur de peste ", `name_loc3` = "Pestblüte", `name_loc6` = "Flor de peste", `name_loc8` = "Чумоцвет" WHERE `entry` = 176641; -- old - fr: Chagrinelle; de: Trauermoos ; es: Musgopena ; ru: Печаль-трава
+
+UPDATE `locales_gameobject` SET `name_loc2` = "La Lune la Vallée", `name_loc3` = "Mond über dem Tal", `name_loc8` = "Луна над долиной" WHERE `entry` = 57; -- old - fr: Tablette de savoir scalp-rouge ; de: Schrifttafel der Blutskalpe; ru: Легенды и предания племени Кровавого Скальпа
+UPDATE `locales_gameobject` SET `name_loc2` = "Fleur de peste", `name_loc3` = "Pestblüte", `name_loc8` = "Чумоцвет" WHERE `entry` = 176587; -- old - fr: Chagrinelle; de: Trauermoos ; ru: Печаль-трава
+UPDATE `locales_gameobject` SET `name_loc2` = "Bannière elfe de sang", `name_loc6` = "Estandarte de los elfos de sangre", `name_loc8` = "Знамя эльфов крови" WHERE `entry` = 185106; -- old - fr: PVP HOLIDAY (H) EotS ; es: PVP HOLIDAY (H) EotS; ru: PVP HOLIDAY (H) EotS
+UPDATE `locales_gameobject` SET `name_loc2` = "Boulet et chaîne de Knot", `name_loc6` = "Bola y cadena de Knot", `name_loc8` = "Шар и цепь Уззла" WHERE `entry` = 179511; -- old - fr: Boulet et chaîne de Noué ; es: Knot's Ball and Chain ; ru: Ядро на цепи Уззла
+UPDATE `locales_gameobject` SET `name_loc2` = "Drapeau chanteguerre", `name_loc6` = "Bandera Grito de Guerra", `name_loc8` = "Флаг Песни Войны" WHERE `entry` = 179786; -- old - fr: Drapeau de la Horde; es: Bandera de la Horda ; ru: Флаг Орды
+UPDATE `locales_gameobject` SET `name_loc2` = "Drapeau d'Aile-argent", `name_loc6` = "Bandera Ala de Plata", `name_loc8` = "Флаг Серебряных Крыльев" WHERE `entry` = 179785; -- old - fr: Drapeau de l'Alliance; es: Bandera de la Alianza ; ru: Флаг Альянса
+UPDATE `locales_gameobject` SET `name_loc2` = "Drapeau d'Aile-argent", `name_loc6` = "Bandera Ala de Plata", `name_loc8` = "Флаг Серебряных Крыльев" WHERE `entry` = 179830; -- old - fr: Drapeau de l’Alliance; es: Bandera de la Alianza ; ru: Флаг Альянса
+UPDATE `locales_gameobject` SET `name_loc2` = "Drapeau chanteguerre", `name_loc6` = "Bandera Grito de Guerra", `name_loc8` = "Флаг Песни Войны" WHERE `entry` = 179831; -- old - fr: Drapeau de la Horde; es: Bandera de la Horda ; ru: Флаг Орды
+UPDATE `locales_gameobject` SET `name_loc2` = "Brasero antique", `name_loc6` = "Blandón antiguo", `name_loc8` = "Древняя жаровня" WHERE `entry` = 20807; -- old - fr: [PÉRIMÉ]Brasero antique; es: [Deprecated for 4.x]Blandón antiguo ; ru: [Deprecated for 4.x]Ancient Brazier
+UPDATE `locales_gameobject` SET `name_loc2` = "Décombres de chariot explosif", `name_loc6` = "Restos del coche cohete", `name_loc8` = "Обломки болида" WHERE `entry` = 19868; -- old - fr: [INUTILISÉ pour 4.x] Décombres de chariot explosif ; es: [Deprecated for 4.x]Restos del coche cohete ; ru: [Deprecated for 4.x]Rocket Car Rubble
+UPDATE `locales_gameobject` SET `name_loc2` = "Décombres de chariot explosif", `name_loc6` = "Restos del coche cohete", `name_loc8` = "Обломки болида" WHERE `entry` = 19869; -- old - fr: [INUTILISÉ pour 4.x] Décombres de chariot explosif ; es: [Deprecated for 4.x]Restos del coche cohete ; ru: [Deprecated for 4.x]Rocket Car Rubble
+UPDATE `locales_gameobject` SET `name_loc2` = "Décombres de chariot explosif", `name_loc6` = "Restos del coche cohete", `name_loc8` = "Обломки болида" WHERE `entry` = 19870; -- old - fr: [INUTILISÉ pour 4.x] Décombres de chariot explosif ; es: [Deprecated for 4.x]Restos del coche cohete ; ru: [Deprecated for 4.x]Rocket Car Rubble
+UPDATE `locales_gameobject` SET `name_loc2` = "Décombres de chariot explosif", `name_loc6` = "Restos del coche cohete", `name_loc8` = "Обломки болида" WHERE `entry` = 19871; -- old - fr: [INUTILISÉ pour 4.x] Décombres de chariot explosif ; es: [Deprecated for 4.x]Restos del coche cohete ; ru: [Deprecated for 4.x]Rocket Car Rubble
+UPDATE `locales_gameobject` SET `name_loc2` = "Décombres de chariot explosif", `name_loc6` = "Restos del coche cohete", `name_loc8` = "Обломки болида" WHERE `entry` = 19872; -- old - fr: [INUTILISÉ pour 4.x] Décombres de chariot explosif ; es: [Deprecated for 4.x]Restos del coche cohete ; ru: [Deprecated for 4.x]Rocket Car Rubble
+UPDATE `locales_gameobject` SET `name_loc2` = "Décombres de chariot explosif", `name_loc6` = "Restos del coche cohete", `name_loc8` = "Обломки болида" WHERE `entry` = 19873; -- old - fr: [INUTILISÉ pour 4.x] Décombres de chariot explosif ; es: [Deprecated for 4.x]Restos del coche cohete ; ru: [Deprecated for 4.x]Rocket Car Rubble
+UPDATE `locales_gameobject` SET `name_loc3` = "Bergbau", `name_loc6` = "Minería", `name_loc8` = "Горное дело" WHERE `entry` = 58620; -- old - de: Bergbau & Juwelierskunst ; es: Minería y joyería ; ru: Горное и ювелирное дело
+UPDATE `locales_gameobject` SET `name_loc3` = "Auberdine Mondbrunnen", `name_loc6` = "Poza de la Luna de Auberdine", `name_loc8` = "Аубердин Лунный колодец" WHERE `entry` = 174795; -- old - de: Wachposten der Mondfederfeste; es: Puesto de vigilancia de Plumaluna ; ru: Застава Оперенной Луны
+UPDATE `locales_gameobject` SET `name_loc3` = "Axtrad", `name_loc6` = "Engranajes ligeros", `name_loc8` = "Инструмент топора" WHERE `entry` = 194577; -- old - de: Tür 02 ; es: Door 02 ; ru: Дверь 2
+UPDATE `locales_gameobject` SET `name_loc2` = "Bibliothèque étrange", `name_loc3` = "Seltsamer Bücherschrank", `name_loc6` = "Estantería extraña" WHERE `entry` = 184453; -- old - fr: Bibliothèque énigmatiquede: Verblüffendes Bücherregal; es: Estantería desconcertante
diff --git a/sql/updates/world/2014_09_06_07_world_creature_equip_template.sql b/sql/updates/world/2014_09_06_07_world_creature_equip_template.sql
new file mode 100644
index 00000000000..d52e8b4c080
--- /dev/null
+++ b/sql/updates/world/2014_09_06_07_world_creature_equip_template.sql
@@ -0,0 +1,158 @@
+UPDATE `creature` SET `equipment_id`=-1 WHERE `id` IN (26437,27185,27290,29016,32702,32706);
+UPDATE `creature` SET `equipment_id`=1 WHERE `id` IN (1035,11941,14277,1477,1478,15045,15046,15062,15063,15064,15074,15075,15086,15089,16802,
+16825,16831,16864,17056,17191,18278,18408,18488,18547,19071,19159,19164,19169,19170,19171,19355,19425,19444,19661,20102,202,20876,21448,22016,
+23698,23748,23766,23863,24006,24322,24436,24938,25094,25115,25234,25235,25238,25240,25248,25258,25259,25261,25271,25317,25342,25343,25496,25967,
+25975,25994,26112,26113,26179,26184,26477,26604,26795,27044,27062,27207,27271,27293,27298,27301,27316,
+27359,27432,27557,27566,27665,2784,28260,28490,28852,29152,29195,29325,29427,29497,29505,29506,29731,300,30571,30627,
+32704,32710,32711,3309,3318,3319,3320,334,34838,36154,37696,37846,38316,3875,40492,4507,464,486,54,5697,5734,5841,7207,7804,7999,
+8216,823,8402);
+
+DELETE FROM `creature_equip_template` WHERE `entry` IN (1035,11941,14277,1477,1478,15045,15046,15062,15063,15064,15074,15075,15086,15089,
+16802,16825,16831,16864,17056,17191,18278,18408,18488,18547,19071,19159,19164,19169,19170,19171,19355,19425,19444,19661,20102,202,20876,
+21448,22016,23698,23748,23766,23863,24006,24322,24436,24938,25094,25115,25234,25235,25238,25240,25248,25258,25259,25261,25271,25317,25342,
+25343,25496,25967,25975,25994,26112,26113,26179,26184,26437,26477,26604,26795,27044,27062,27185,27207,27271,27290,
+27293,27298,27301,27316,27359,27432,27557,27566,27665,2784,28260,28490,28852,29016,29152,29195,29325,29427,29497,29505,29506,29731,300,
+30571,30627,32702,32704,32706,32710,32711,3309,3318,3319,3320,334,34838,36154,37696,37846,38316,3875,40492,4507,464,486,54,5697,
+5734,5841,7207,7804,7999,8216,823,8402);
+INSERT INTO `creature_equip_template` (`entry`, `id`, `itemEntry1`, `itemEntry2`, `itemEntry3`) VALUES
+(1035 , 1, 1896 , 2051 , 0), -- Dragonmaw Swamprunner
+(11941, 1, 13861, 0, 0), -- Yori Crackhelm
+(14277, 1, 0, 0, 13147), -- Lady Zephris
+(1477 , 1, 2705 , 0, 0), -- Christoph Faral
+(1478 , 1, 2705 , 0, 0), -- Aedis Brom
+(15045, 1, 3367 , 0, 0), -- Arathi Farmer
+(15046, 1, 3367 , 0, 0), -- Forsaken Farmer
+(15062, 1, 19015, 0, 0), -- Arathi Lumberjack
+(15063, 1, 1903 , 0, 0), -- Arathi Blacksmith
+(15064, 1, 1903 , 0, 0), -- Forsaken Blacksmith
+(15074, 1, 1910 , 0, 0), -- Arathi Miner
+(15075, 1, 1910 , 0, 0), -- Forsaken Miner
+(15086, 1, 3367 , 0, 0), -- Arathi Stablehand
+(15089, 1, 19015, 0, 0), -- Forsaken Lumberjack
+(16802, 1, 14882, 24038, 0), -- Lor'themar Theron
+(16825, 1, 2703 , 0, 0), -- Father Malgor Devidicus
+(16831, 1, 2704 , 13407, 0), -- Nethergarde Infantry
+(16864, 1, 2717 , 3757 , 0), -- Stormwind Infantry
+(17056, 1, 13612, 0, 0), -- Eversong Partygoer
+(17191, 1, 6228 , 0, 0), -- Siltfin Oracle
+(18278, 1, 1903 , 0, 0), -- Pilot Marsha
+(18408, 1, 1903 , 0, 0), -- Warden Moi'bff Jill
+(18488, 1, 27849, 27849, 0), -- Telaari Watcher
+(18547, 1, 12751, 0, 0), -- Scryer Arcanist
+(19071, 1, 27852, 0, 0), -- Telaari Elekk Rider
+(19159, 1, 1903 , 0, 0), -- Allerian Peasant Cosmetic
+(19164, 1, 2707 , 0, 0), -- Refugee Child
+(19169, 1, 2705 , 0, 0), -- Blood Elf Commoner
+(19170, 1, 2827 , 0, 0), -- Peasant Refugee
+(19171, 1, 33963, 0, 0), -- Draenei Commoner
+(19355, 1, 1903 , 0, 0), -- Shadowmoon Peon
+(19425, 1, 1903 , 0, 0), -- Orgrimmar Peon
+(19444, 1, 1903 , 0, 0), -- Peasant Worker
+(19661, 1, 1911 , 0, 0), -- Viggz Shinesparked
+(20102, 1, 2703 , 0, 0), -- Goblin Commoner
+(202 , 1, 1896 , 0, 0), -- Skeletal Horror
+(20876, 1, 1903 , 0, 0), -- Human Refugee
+(21448, 1, 5291 , 0, 2552) , -- Gadgetzan Sniper
+(22016, 1, 31205, 31205, 0), -- Eclipsion Soldier
+(23698, 1, 13861, 0, 0), -- Drunken Brewfest Reveler
+(23748, 1, 12744, 12745, 0), -- Kurzel
+(23766, 1, 2717 , 0, 0), -- Morgom
+(23863, 1, 33975, 0, 0), -- Zul'jin
+(24006, 1, 3362 , 0, 0), -- Foreman Tionn
+(24322, 1, 34816, 0, 0), -- Ancient Citizen of Nifflevar
+(24436, 1, 2029 , 0, 0), -- Gargoth
+(24938, 1, 34301, 0, 34277), -- Shattered Sun Marksman
+(25094, 1, 2704 , 0, 0), -- Navigator Tah're
+(25115, 1, 31743, 34588, 0), -- Shattered Sun Warrior
+(25234, 1, 2028 , 0, 0), -- Stormfleet Deckhand
+(25235, 1, 2028 , 0, 0), -- Hilda Stoneforge
+(25238, 1, 2028 , 0, 0), -- Gamlen
+(25240, 1, 2028 , 0, 0), -- Bromm
+(25248, 1, 853 , 0, 0), -- "Salty" John Thorpe
+(25258, 1, 2703 , 0, 0), -- Footman Rob
+(25259, 1, 2703 , 0, 0), -- Footman George
+(25261, 1, 2703 , 0, 0), -- Footman Chuck
+(25271, 1, 2028 , 0, 0), -- Valiance Keep Worker
+(25317, 1, 2178 , 0, 0), -- Civilian Recruit
+(25342, 1, 10612, 12456, 0), -- Dead Caravan Guard
+(25343, 1, 10616, 0, 0), -- Dead Caravan Worker
+(25496, 1, 34816, 34819, 0), -- Kvaldir Mist Lord
+(25967, 1, 13861, 0, 0), -- Zephyr
+(25975, 1, 1906 , 2081 , 0), -- Master Fire Eater
+(25994, 1, 1906 , 2081 , 0), -- Flame Eater
+(26112, 1, 1902 , 0, 0), -- Bor'gorok Peon
+(26113, 1, 1906 , 2081 , 0), -- Master Flame Eater
+(26179, 1, 1117 , 0, 0), -- Taunka'le Refugee
+(26184, 1, 1117 , 0, 0), -- Taunka'le Refugee
+(26437, 1, 34639, 0, 0), -- Taunka Soldier
+(26437, 2, 34640, 21549, 0), -- Taunka Soldier
+(26477, 1, 32610, 0, 0), -- Dead Mage Hunter
+(26604, 1, 2717 , 0, 0), -- Mack Fearsen
+(26795, 1, 19970, 0, 0), -- Drakkari Oracle
+(27044, 1, 2827 , 0, 0), -- Ordal McLumpkins
+(27062, 1, 0, 13611, 0), -- Brom Armstrong
+(27185, 1, 0, 13611, 0), -- Kuk'uq
+(27185, 2, 14535, 0, 0), -- Kuk'uq
+(27207, 1, 768 , 0, 0), -- Onslaught Workman
+(27271, 1, 0, 13341, 0), -- Initiate Knapp
+(27290, 1, 25587, 13604, 0), -- Hungering Dead
+(27290, 2, 3346 , 0, 0), -- Hungering Dead
+(27290, 3, 3367 , 0, 0), -- Hungering Dead
+(27293, 1, 5278 , 0, 0), -- Amberpine Woodsman
+(27298, 1, 0, 12859, 0), -- Apprentice Ranch
+(27301, 1, 3699 , 0, 0), -- Apprentice Trotter
+(27316, 1, 28648, 0, 0), -- Inquisitor Hallard
+(27359, 1, 3346 , 0, 0), -- Trapped Wintergarde Villager
+(27432, 1, 3350 , 0, 0), -- Warsong Hold Peon
+(27557, 1, 34682, 0, 0), -- Warsong Elite
+(27566, 1, 34784, 0, 0), -- Unu'pe Villager
+(27665, 1, 34682, 0, 0), -- Kor'kron Pillager
+(2784 , 1, 12883, 12883, 0), -- King Magni Bronzebeard
+(28260, 1, 33521, 0, 0), -- Defeated Argent Footman
+(28490, 1, 13505, 0, 0), -- Disciple of Frost
+(28852, 1, 12322, 0, 0), -- Dead Mam'toth Disciple
+(29016, 1, 1911 , 0, 0), -- Steam Tank Engineer
+(29016, 2, 31824, 0, 0), -- Steam Tank Engineer
+(29152, 1, 1911 , 0, 0), -- Stormwind Dock Worker
+(29195, 1, 13505, 0, 0), -- Lady Alistra
+(29325, 1, 6256 , 0, 0), -- Torgo the Younger
+(29427, 1, 2901 , 0, 0), -- Captive Vrykul
+(29497, 1, 28442, 0, 0), -- Walther Whiteford
+(29505, 1, 5956 , 13611, 0), -- Imindril Spearsong
+(29506, 1, 5956 , 0, 0), -- Orland Schaeffer
+(29731, 1, 33318, 0, 0), -- Frostborn Iceshaper
+(300 , 1, 2023 , 0, 0), -- Zzarc' Vul
+(30571, 1, 2196 , 0, 0), -- Michael Belfast
+(30627, 1, 49919, 50798, 0), -- Nightmare Figment
+(32702, 1, 44638, 0, 0), -- Drog Skullbreaker
+(32702, 2, 44654, 0, 0), -- Drog Skullbreaker
+(32704, 1, 44638, 0, 0), -- Danric the Bold
+(32706, 1, 44638, 0, 0), -- Saedelin Whitedawn
+(32706, 2, 44654, 0, 0), -- Saedelin Whitedawn
+(32710, 1, 0, 0, 44635), -- Garl Grimgrizzle
+(32711, 1, 0, 0, 44643), -- Warp-Huntress Kula
+(3309 , 1, 12852, 12855, 0), -- Karus
+(3318 , 1, 12856, 12859, 0), -- Koma
+(3319 , 1, 0, 1985 , 0), -- Sana
+(3320 , 1, 12850, 12745, 0), -- Soran
+(334 , 1, 2178 , 2052 , 0), -- Gath'Ilzogg
+(34838, 1, 34817, 0, 0), -- Kvaldir Reaver
+(36154, 1, 2703 , 0, 0), -- [DND] Valgarde Peon
+(37696, 1, 14533, 0, 0), -- Crusader Halford
+(37846, 1, 49767, 0, 0), -- Blood-Queen Lana'thel
+(38316, 1, 2028 , 0, 0), -- Ormus the Penitent
+(3875 , 1, 2827 , 0, 0), -- Haunted Servitor
+(40492, 1, 33979, 0, 0), -- Zild'jian
+(4507 , 1, 1906 , 0, 0), -- Daisy
+(464 , 1, 1899 , 143 , 0), -- Guard Parker
+(486 , 1, 1983 , 0, 0), -- Tharil'zun
+(54 , 1, 1903 , 0, 0), -- Corina Steele
+(5697 , 1, 2717 , 0, 0), -- Theresa
+(5734 , 1, 2199 , 0, 0), -- Apothecary Keever
+(5841 , 1, 3432 , 0, 0), -- Rocklance
+(7207 , 1, 6651 , 0, 0), -- Doc Mixilpixil
+(7804 , 1, 2182 , 0, 0), -- Trenton Lighthammer
+(7999 , 1, 5598 , 0, 14105), -- Tyrande Whisperwind
+(8216 , 1, 11762, 11762, 0), -- Retherokk the Berserker
+(823 , 1, 1896 , 0, 0), -- Deputy Willem
+(8402 , 1, 2901 , 0, 0); -- Enslaved Archaeologist
diff --git a/sql/updates/world/2014_09_06_08_world_creature_equip_template.sql b/sql/updates/world/2014_09_06_08_world_creature_equip_template.sql
new file mode 100644
index 00000000000..ff85ab42964
--- /dev/null
+++ b/sql/updates/world/2014_09_06_08_world_creature_equip_template.sql
@@ -0,0 +1,2 @@
+UPDATE `creature` SET `equipment_id`=0 WHERE `id` = 2057;
+DELETE FROM `creature_equip_template` WHERE `entry` = 2057;
diff --git a/sql/updates/world/2014_09_06_09_world_sai.sql b/sql/updates/world/2014_09_06_09_world_sai.sql
new file mode 100644
index 00000000000..ceec5e3e502
--- /dev/null
+++ b/sql/updates/world/2014_09_06_09_world_sai.sql
@@ -0,0 +1,85 @@
+SET @OGUID := 59568;
+SET @CGUID := 74509;
+
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=21210;
+UPDATE `creature_template_addon` SET `auras`='' WHERE `entry`=21210;
+
+
+UPDATE `creature_template` SET `ainame`='SmartAI', `scriptname`='' WHERE `entry` IN(21210,21207,21735);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(21210,-84857,-84854,-84855,-84856,-84858,21207,21735) 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
+(-84857, 0, 0, 0, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 36393, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invis Deathforge Caster (Guid 84857) - On Spawn - Cast Deathforge Summon Visual'),
+(-84857, 0, 1, 0, 38, 0, 100, 0, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invis Deathforge Caster - On Data Set 1 1 - Despawn'),
+(-84854, 0, 0, 0, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 36384, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invis Deathforge Caster (Guid 84854) - On Spawn - Cast Skartax Purple Beam'),
+(-84854, 0, 1, 0, 38, 0, 100, 0, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invis Deathforge Caster - On Data Set 1 1 - Despawn'),
+(-84855, 0, 0, 0, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 36384, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invis Deathforge Caster (Guid 84854) - On Spawn - Cast Skartax Purple Beam'),
+(-84855, 0, 1, 0, 38, 0, 100, 0, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invis Deathforge Caster - On Data Set 1 1 - Despawn'),
+(-84856, 0, 0, 0, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 36384, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invis Deathforge Caster (Guid 84854) - On Spawn - Cast Skartax Purple Beam'),
+(-84856, 0, 1, 0, 38, 0, 100, 0, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invis Deathforge Caster - On Data Set 1 1 - Despawn'),
+(-84858, 0, 0, 0, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 36384, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invis Deathforge Caster (Guid 84854) - On Spawn - Cast Skartax Purple Beam'),
+(-84858, 0, 1, 0, 38, 0, 100, 0, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invis Deathforge Caster - On Data Set 1 1 - Despawn'),
+(21207, 0, 0, 1, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 36382, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Summoner Skartax - On Spawn - Cast Skartax Self Aura I'),
+(21207, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 36431, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Summoner Skartax - On Spawn - Cast Test Channel'),
+(21207, 0, 2, 0, 0, 0, 100, 0, 0, 0, 3000, 5000, 11, 12471, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Summoner Skartax - IC - Cast Shadowbolt'),
+(21207, 0, 3, 0, 0, 0, 100, 0, 0, 0, 2500, 4500, 11, 38401, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Summoner Skartax - IC - Cast Incinerate'),
+(21735, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 11, 37281, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Infernal Oversoul - On Spawn - Cast Infernal Oversouls Wrath'),
+(21735, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 9, 21210, 0, 200, 0, 0, 0, 0, 'Infernal Oversoul - On Spawn - Set Data on Invis Deathforge Caster'),
+(21735, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 21, 100, 0, 0, 0, 0, 0, 0, 'Infernal Oversoul - On Spawn - Start Attack');
+
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`IN(36384,36431,37281);
+
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13, 1, 36384, 0, 0, 31, 0, 3, 21210, 0, 0, 0, 0, '', 'Skartax Purple Beam targets Invis Deathforge Caster'),
+(13, 1, 36384, 0, 0, 1, 0, 36393, 0, 0, 1, 0, 0, '', 'Skartax Purple Beam targets Invis Deathforge Caster only if does not have aura Deathforge Summon Visual'),
+(13, 1, 36384, 0, 1, 31, 0, 3, 21211, 0, 0, 0, 0, '', 'Skartax Purple Beam targets Invis Deathforge Target'),
+(13, 1, 36431, 0, 0, 31, 0, 3, 21210, 0, 0, 0, 0, '', 'Test Channel targets Invis Deathforge Caster'),
+(13, 1, 36431, 0, 0, 1, 0, 36393, 0, 0, 0, 0, 0, '', 'Test Channel targets Invis Deathforge Caster only if has aura Deathforge Summon Visual'),
+(13, 1, 37281, 0, 0, 31, 0, 3, 21207, 0, 0, 0, 0, '', 'Infernal Oversouls Wrath targets Summoner Skartax'),
+(13, 1, 37281, 0, 1, 31, 0, 3, 20872, 0, 0, 0, 0, '', 'Infernal Oversouls Wrath targets Deathforge Summoner');
+
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID AND @CGUID+2 AND `id`=20872;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 20872, 530, 1, 1, -3335.892, 2133.704, -2.183001, 2.513274, 120, 0, 0), -- 20872 (Area: 3520)
+(@CGUID+1, 20872, 530, 1, 1, -3335.601, 2151.807, -1.211325, 3.001966, 120, 0, 0), -- 20872 (Area: 3520)
+(@CGUID+2, 20872, 530, 1, 1, -3341.744, 2168.385, 2.227986, 3.996804, 120, 0, 0); -- 20872 (Area: 3520)
+
+DELETE FROM `gameobject` WHERE `id`=184820;
+INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
+(@OGUID+0, 184820, 530, 1, 1, 1506.37, 6367.81, 0.62336, 4.5204, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+1, 184820, 530, 1, 1, 1544.21, 6321.05, 2.36069, 0.593412, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+2, 184820, 530, 1, 1, 1589.61, 6294.26, 2.97764, 1.27409, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+3, 184820, 530, 1, 1, 1718.04, 6303.09, -0.245553, 4.24115, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+4, 184820, 530, 1, 1, 2165.13, 6485.68, 6.32237, 1.39626, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+5, 184820, 530, 1, 1, 2318.35, 6650.72, 16.8051, 5.74213, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+6, 184820, 530, 1, 1, 2330.77, 6719.11, 16.5635, 5.63741, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+7, 184820, 530, 1, 1, 2381.57, 6742.27, 16.7087, 4.90438, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+8, 184820, 530, 1, 1, 2494.49, 6713.98, 4.47157, 4.29351, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+9, 184820, 530, 1, 1, 2700.36, 6601.66, 22.8472, 3.40339, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+10, 184820, 530, 1, 1, 2706.19, 6673.73, 21.6303, 2.47837, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+11, 184820, 530, 1, 1, 2700.19, 6514.47, 2.13838, 2.11185, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+12, 184820, 530, 1, 1, 2597.69, 6505.88, 1.66538, 1.09956, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+13, 184820, 530, 1, 1, 2635.83, 6463.89, 1.86259, 1.85005, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+14, 184820, 530, 1, 1, 2462.47, 6544.21, 1.93072, 0.541052, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+15, 184820, 530, 1, 1, 2382.94, 6498.44, 3.00535, 1.98968, 0, 0, 0, 1, 120, 255, 1),
+(@OGUID+16, 184820, 530, 1, 1, 2332.92, 6567.22, 3.77855, 0.453786, 0, 0, 0, 1, 120, 255, 1);
+
+UPDATE `creature_template` SET `ainame`='SmartAI', `scriptname`='' WHERE `entry` IN(21352,21498,21456,21351);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(21352,21498,21456,21351) 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
+(21352, 0, 0, 1,38, 0, 100, 0, 1, 1, 180000, 180000, 12, 21456, 2, 300000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ogre Building Bunny Summoner - On Data Set 1 1 - Summon Ogre Building Bunny Small'),
+(21352, 0, 1, 2,61, 0, 100, 0, 0, 0, 0, 0, 11, 32582, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Summon Ogre Building Bunny Small - On Just Summoned - Cast Ogre Building Bunny Curse Visual'),
+(21352, 0, 2, 0,61, 0, 100, 0, 0, 0, 0, 0, 12, 21498, 2, 300000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ogre Building Cursed Spirit Bunny - On Just Summoned - Summon Bladespire Evil Spirit'),
+(21498, 0, 0, 0,54, 0, 100, 0, 0, 0, 0, 0, 12, 21446, 2, 300000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ogre Building Cursed Spirit Bunny - On Just Summoned - Summon Bladespire Evil Spirit'),
+(21498, 0, 1, 0,54, 0, 100, 0, 0, 0, 0, 0, 12, 21452, 2, 300000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ogre Building Cursed Spirit Bunny - On Just Summoned - Summon Bloodmaul Evil Spirit'),
+(21351, 0, 0, 0,54, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 21352, 0, 0, 0, 0, 0, 0, 'Ogre Building Bunny Large - On Just Summoned - Set Data 1 1 Ogre Building Bunny Summoner');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=21498;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(22, 1, 21498, 0, 0, 23, 1, 3773, 0, 0, 0, 0, 0, '', 'Only Run AI in Bladespire Hold'),
+(22, 2, 21498, 0, 0, 23, 1, 3776, 0, 0, 0, 0, 0, '', 'Only Run AI in Bloodmaul Outpost');
+
+DELETE FROM `spell_scripts` WHERE `id`=32580;
+INSERT INTO `spell_scripts` (`id`, `effIndex`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES
+(32580, 0, 0, 10, 21351, 30000, 0, 0, 0, 0, 0);
diff --git a/sql/updates/world/2014_09_06_10_world_spell_script_names.sql b/sql/updates/world/2014_09_06_10_world_spell_script_names.sql
new file mode 100644
index 00000000000..c63a3372068
--- /dev/null
+++ b/sql/updates/world/2014_09_06_10_world_spell_script_names.sql
@@ -0,0 +1,4 @@
+DELETE FROM `spell_script_names` WHERE `spell_id` IN (27695, 27687);
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(27695, 'spell_kormok_summon_bone_mages'),
+(27687, 'spell_kormok_summon_bone_minions');
diff --git a/sql/updates/world/2014_09_07_00_world_sai.sql b/sql/updates/world/2014_09_07_00_world_sai.sql
new file mode 100644
index 00000000000..394e7980958
--- /dev/null
+++ b/sql/updates/world/2014_09_07_00_world_sai.sql
@@ -0,0 +1,40 @@
+UPDATE `gameobject_template` SET `flags`=0 WHERE `entry`=184383;
+DELETE FROM `creature` WHERE `guid`=72505;
+
+DELETE FROM `gossip_menu` WHERE `entry`=8062;
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
+(8062, 9958); -- 184073
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=8062;
+INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `BoxBroadcastTextID`) VALUES
+(8062, 0, 0, 'Attempt to contact Wind Trader Marid.', 17638, 1, 1, 0, 0, 0, 0, '', 0); -- 184073
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=8062;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(15, 8062, 0, 0, 0,28, 0, 10270, 0, 0, 0, 0, 0, '', 'Ethereal Teleport Pad - Show Gossip option only if player has A Not-So-Modest Proposal complete in quest log'),
+(15, 8062, 0, 0, 0,9, 0, 10271, 0, 0, 1, 0, 0, '', 'Ethereal Teleport Pad - Show Gossip option only if player does not have Getting Down to Business taken'),
+(15, 8062, 0, 0, 0,8, 0, 10271, 0, 0, 1, 0, 0, '', 'Ethereal Teleport Pad - Show Gossip option only if player does not have Getting Down to Business rewarded'),
+(15, 8062, 0, 0, 0,28, 0, 10271, 0, 0, 1, 0, 0, '', 'Ethereal Teleport Pad - Show Gossip option only if player does not have Getting Down to Business complete'),
+(15, 8062, 0, 0, 0,29, 1, 20518, 200, 0, 1, 0, 0, '', 'Ethereal Teleport Pad - Show Gossip option only if Image of Wind Trader Marid is not already spawned');
+
+UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI',`ScriptName`='' WHERE `entry`IN(184073,184383);
+DELETE FROM `smart_scripts` WHERE `entryorguid`IN(184073,184383) AND `source_type`=1;
+
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(184073, 1, 0, 1, 62, 0, 100, 0, 8062, 0, 0, 0, 12, 20518, 1, 60000, 0, 0, 0, 8, 0, 0, 0, 4006.99, 1516.938, -114.63, 2.303835, 'Ethereal Teleport Pad - On Gossip Option 0 Selected - Summon Image of Wind Trader Marid'),
+(184073, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Ethereal Teleport Pad - On Gossip Option 0 Selected - Close Gossip'),
+(184383, 1, 0, 0, 70, 0, 100, 0, 2, 0, 0, 0, 12, 20482, 1, 180000, 0, 0, 0, 8, 0, 0, 0, 4017.968, 2315.796, 114.9459, 0.4363323, 'Ethereum Transponder Zeta - On State Changed - Summon Image of Commander Ameer <The Protectorate>');
+
+UPDATE `creature_template` SET `ainame`='SmartAI', `scriptname`='' WHERE `entry` IN(20518,20482);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(20518,20482) 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
+(20518, 0, 0, 0, 1, 0, 100, 1, 50, 50, 0, 0, 11, 12980, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Image of Wind Trader Marid - On Just Summoned - Cast Simple Teleport'),
+(20482, 0, 0, 1, 4, 0, 100, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Image of Commander Ameer - On Agro - Say Line'),
+(20482, 0, 1, 2,61, 0, 100, 1, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 14, 25179, 184383, 0, 0, 0, 0, 0, 'Image of Commander Ameer - On Agro - Set Data 1 1 to Ethereum Transponder Zeta'),
+(20482, 0, 2, 0,61, 0, 100, 1, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Image of Commander Ameer - On Agro - Despawn'),
+(20482, 0, 3, 4,11, 0, 100, 1, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Image of Commander Ameer - On Spawn - Disable Auto Attack'),
+(20482, 0, 4, 0,61, 0, 100, 1, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Image of Commander Ameer - On Spawn - Disable combat movement');
+
+DELETE FROM `creature_text` WHERE `entry`=20482;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`,`BroadcastTextID`) VALUES
+(20482, 0, 0, 'Hostiles detected. Ending transmission.', 12, 0, 100, 15, 0, 0, 'Image of Commander Ameer',18190);
diff --git a/sql/updates/world/2014_09_07_01_world_sai.sql b/sql/updates/world/2014_09_07_01_world_sai.sql
new file mode 100644
index 00000000000..b264087cda6
--- /dev/null
+++ b/sql/updates/world/2014_09_07_01_world_sai.sql
@@ -0,0 +1,5 @@
+SET @ENTRY := 11136; -- Freed Soul
+UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = @ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @ENTRY AND `source_type` = 0;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(@ENTRY, 0, 0, 0, 11, 0, 100, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Freed Soul - On Respawn - Say Line 0');
diff --git a/sql/updates/world/2014_09_07_02_world_npc_factions_335.sql b/sql/updates/world/2014_09_07_02_world_npc_factions_335.sql
new file mode 100644
index 00000000000..1451f39785b
--- /dev/null
+++ b/sql/updates/world/2014_09_07_02_world_npc_factions_335.sql
@@ -0,0 +1,249 @@
+UPDATE `creature_template` SET `faction`=107 WHERE `entry`=8127; -- Antu'sul <Overseer of Sul>
+UPDATE `creature_template` SET `faction`=1078 WHERE `entry`=23568; -- Captain Darill
+UPDATE `creature_template` SET `faction`=11 WHERE `entry`=2386; -- Southshore Guard
+UPDATE `creature_template` SET `faction`=1194 WHERE `entry`=19666; -- Shadow Lord Xiraxis
+UPDATE `creature_template` SET `faction`=12 WHERE `entry`=8856; -- Tyrion's Spybot
+UPDATE `creature_template` SET `faction`=120 WHERE `entry`=2487; -- Fleet Master Seahorn <Blackwater Raiders>
+UPDATE `creature_template` SET `faction`=123 WHERE `entry`=11616; -- Nathaniel Dumah
+UPDATE `creature_template` SET `faction`=123 WHERE `entry`=1892; -- Moonrage Watcher
+UPDATE `creature_template` SET `faction`=123 WHERE `entry`=1893; -- Moonrage Sentry
+UPDATE `creature_template` SET `faction`=123 WHERE `entry`=1896; -- Moonrage Elder
+UPDATE `creature_template` SET `faction`=123 WHERE `entry`=2269; -- Hillsbrad Miner
+UPDATE `creature_template` SET `faction`=123 WHERE `entry`=2270; -- Hillsbrad Sentry
+UPDATE `creature_template` SET `faction`=123 WHERE `entry`=2503; -- Hillsbrad Foreman
+UPDATE `creature_template` SET `faction`=123 WHERE `entry`=3529; -- Moonrage Armorer
+UPDATE `creature_template` SET `faction`=123 WHERE `entry`=3531; -- Moonrage Tailor
+UPDATE `creature_template` SET `faction`=125 WHERE `entry`=8582; -- Kadrak
+UPDATE `creature_template` SET `faction`=128 WHERE `entry`=8282; -- Highlord Mastrogonde
+UPDATE `creature_template` SET `faction`=1354 WHERE `entry`=11486; -- Prince Tortheldrin
+UPDATE `creature_template` SET `faction`=1354 WHERE `entry`=14358; -- Shen'dralar Ancient
+UPDATE `creature_template` SET `faction`=1354 WHERE `entry`=14361; -- Shen'dralar Wisp
+UPDATE `creature_template` SET `faction`=1355 WHERE `entry`=14368; -- Lorekeeper Lydros
+UPDATE `creature_template` SET `faction`=1355 WHERE `entry`=14369; -- Shen'dralar Zealot
+UPDATE `creature_template` SET `faction`=1355 WHERE `entry`=14371; -- Shen'dralar Provisioner
+UPDATE `creature_template` SET `faction`=1355 WHERE `entry`=14381; -- Lorekeeper Javon
+UPDATE `creature_template` SET `faction`=1355 WHERE `entry`=14382; -- Lorekeeper Mykos
+UPDATE `creature_template` SET `faction`=1355 WHERE `entry`=14383; -- Lorekeeper Kildrath
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=17429; -- Fel Orc Neophyte
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=2385; -- Feral Mountain Lion
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=24410; -- Vazruden the Herald Image
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=26943; -- Battered Drakkari Berserker
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=30012; -- Victorious Challenger
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=3245; -- Ornery Plainstrider
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=33564; -- Ironforge Valiant
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=33739; -- Exodar Champion
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=33749; -- Undercity Champion
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=40142; -- Halion <The Twilight Destroyer>
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=5089; -- Balos Jacken
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=5431; -- Surf Glider
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=5676; -- Summoned Voidwalker
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=5677; -- Summoned Succubus
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=7093; -- Vile Ooze
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=832; -- Dust Devil
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=8596; -- Plaguehound Runt
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=8600; -- Plaguebat
+UPDATE `creature_template` SET `faction`=149 WHERE `entry`=4834; -- Theramore Infiltrator
+UPDATE `creature_template` SET `faction`=1576 WHERE `entry`=8563; -- Woodsman
+UPDATE `creature_template` SET `faction`=1576 WHERE `entry`=8565; -- Pathstrider
+UPDATE `creature_template` SET `faction`=1577 WHERE `entry`=15107; -- Arathi Horse
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=15552; -- Doctor Weavil
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=24410; -- Vazruden the Herald Image
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=27655; -- Mage-Lord Urom
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=37068; -- Spiritual Reflection
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=37107; -- Spiritual Reflection
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=37230; -- Spire Frostwyrm
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=4067; -- Twilight Runner
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=5300; -- Frayfeather Hippogryph
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=5304; -- Frayfeather Stagwing
+UPDATE `creature_template` SET `faction`=1605 WHERE `entry`=8197; -- Chronalis
+UPDATE `creature_template` SET `faction`=1605 WHERE `entry`=8198; -- Tick
+UPDATE `creature_template` SET `faction`=1606 WHERE `entry`=10600; -- Thontek Rumblehoof
+UPDATE `creature_template` SET `faction`=1622 WHERE `entry`=4923; -- Guard Jarad
+UPDATE `creature_template` SET `faction`=1625 WHERE `entry`=11102; -- Argent Rider <The Argent Dawn>
+UPDATE `creature_template` SET `faction`=1630 WHERE `entry`=16300; -- Risen Creeper
+UPDATE `creature_template` SET `faction`=1630 WHERE `entry`=16301; -- Risen Hungerer
+UPDATE `creature_template` SET `faction`=1630 WHERE `entry`=16309; -- Gangled Cannibal
+UPDATE `creature_template` SET `faction`=1630 WHERE `entry`=16322; -- Gangled Flesheater
+UPDATE `creature_template` SET `faction`=1638 WHERE `entry`=17106; -- Vindicator Palanaar
+UPDATE `creature_template` SET `faction`=1639 WHERE `entry`=17587; -- Draenei Youngling
+UPDATE `creature_template` SET `faction`=1692 WHERE `entry`=24576; -- Riplash Myrmidon
+UPDATE `creature_template` SET `faction`=1692 WHERE `entry`=24901; -- Maddened Frosthorn
+UPDATE `creature_template` SET `faction`=1692 WHERE `entry`=29829; -- Drakkari Earthshaker
+UPDATE `creature_template` SET `faction`=1718 WHERE `entry`=19215; -- Infernal Relay (Hellfire)
+UPDATE `creature_template` SET `faction`=1732 WHERE `entry`=32712; -- The Amazing Zanzo
+UPDATE `creature_template` SET `faction`=1732 WHERE `entry`=40502; -- Zalazane
+UPDATE `creature_template` SET `faction`=1733 WHERE `entry`=16781; -- Midsummer Celebrant
+UPDATE `creature_template` SET `faction`=1735 WHERE `entry`=26221; -- Earthen Ring Elder <The Earthen Ring>
+UPDATE `creature_template` SET `faction`=1754 WHERE `entry`=18944; -- Fel Soldier
+UPDATE `creature_template` SET `faction`=1754 WHERE `entry`=19005; -- Wrath Master
+UPDATE `creature_template` SET `faction`=1756 WHERE `entry`=16831; -- Nethergarde Infantry
+UPDATE `creature_template` SET `faction`=1756 WHERE `entry`=16842; -- Honor Hold Defender
+UPDATE `creature_template` SET `faction`=1770 WHERE `entry`=29801; -- Bouldercrag the Rockshaper
+UPDATE `creature_template` SET `faction`=1770 WHERE `entry`=30152; -- Bruor Ironbane
+UPDATE `creature_template` SET `faction`=1770 WHERE `entry`=37577; -- Freed Horde Slave
+UPDATE `creature_template` SET `faction`=1770 WHERE `entry`=37579; -- Freed Horde Slave
+UPDATE `creature_template` SET `faction`=1770 WHERE `entry`=37580; -- Martin Victus
+UPDATE `creature_template` SET `faction`=1770 WHERE `entry`=37581; -- Gorkun Ironskull
+UPDATE `creature_template` SET `faction`=1771 WHERE `entry`=23750; -- Proto-Whelp Hatchling
+UPDATE `creature_template` SET `faction`=1771 WHERE `entry`=38487; -- Fallen Warrior
+UPDATE `creature_template` SET `faction`=1812 WHERE `entry`=29910; -- K3 Bruiser
+UPDATE `creature_template` SET `faction`=1814 WHERE `entry`=26623; -- Scourge Brute
+UPDATE `creature_template` SET `faction`=1814 WHERE `entry`=26635; -- Risen Drakkari Warrior
+UPDATE `creature_template` SET `faction`=1847 WHERE `entry`=31326; -- Death Knight Initiate <Host of Suffering>
+UPDATE `creature_template` SET `faction`=1847 WHERE `entry`=31327; -- Death Knight Initiate <Host of Suffering>
+UPDATE `creature_template` SET `faction`=1878 WHERE `entry`=20465; -- Underbog Frenzy
+UPDATE `creature_template` SET `faction`=189 WHERE `entry`=3816; -- Wild Buck
+UPDATE `creature_template` SET `faction`=1892 WHERE `entry`=26170; -- Thassarian
+UPDATE `creature_template` SET `faction`=1892 WHERE `entry`=582; -- Old Blanchy
+UPDATE `creature_template` SET `faction`=190 WHERE `entry`=2098; -- Ram
+UPDATE `creature_template` SET `faction`=190 WHERE `entry`=8883; -- Riding Horse
+UPDATE `creature_template` SET `faction`=1953 WHERE `entry`=24954; -- Aged Magnataur
+UPDATE `creature_template` SET `faction`=1965 WHERE `entry`=26639; -- Drakkari Shaman
+UPDATE `creature_template` SET `faction`=1965 WHERE `entry`=30922; -- Umbral Brute
+UPDATE `creature_template` SET `faction`=1965 WHERE `entry`=33139; -- Flame Leviathan Turret
+UPDATE `creature_template` SET `faction`=1981 WHERE `entry`=26488; -- Taunka Pack Kodo
+UPDATE `creature_template` SET `faction`=1991 WHERE `entry`=26126; -- Bone Warrior
+UPDATE `creature_template` SET `faction`=2004 WHERE `entry`=26448; -- Stars' Rest Sentinel
+UPDATE `creature_template` SET `faction`=2047 WHERE `entry`=25636; -- Captured Tuskarr Prisoner
+UPDATE `creature_template` SET `faction`=2050 WHERE `entry`=29194; -- Amal'thazad
+UPDATE `creature_template` SET `faction`=2050 WHERE `entry`=29195; -- Lady Alistra
+UPDATE `creature_template` SET `faction`=2050 WHERE `entry`=29246; -- Highlord Darion Mograine
+UPDATE `creature_template` SET `faction`=2070 WHERE `entry`=28028; -- Argent Shieldman
+UPDATE `creature_template` SET `faction`=2070 WHERE `entry`=28029; -- Argent Crusader
+UPDATE `creature_template` SET `faction`=2075 WHERE `entry`=28167; -- Stratholme Citizen
+UPDATE `creature_template` SET `faction`=2075 WHERE `entry`=28169; -- Stratholme Resident
+UPDATE `creature_template` SET `faction`=21 WHERE `entry`=1848; -- Lord Maldazzar
+UPDATE `creature_template` SET `faction`=2104 WHERE `entry`=28471; -- Lady Alistra
+UPDATE `creature_template` SET `faction`=2104 WHERE `entry`=28490; -- Disciple of Frost
+UPDATE `creature_template` SET `faction`=2131 WHERE `entry`=38493; -- Argent Crusader
+UPDATE `creature_template` SET `faction`=2209 WHERE `entry`=37011; -- The Damned
+UPDATE `creature_template` SET `faction`=230 WHERE `entry`=7855; -- Southsea Pirate
+UPDATE `creature_template` SET `faction`=230 WHERE `entry`=7856; -- Southsea Freebooter
+UPDATE `creature_template` SET `faction`=231 WHERE `entry`=11806; -- Sentinel Onaeya
+UPDATE `creature_template` SET `faction`=231 WHERE `entry`=17312; -- Magwin
+UPDATE `creature_template` SET `faction`=24 WHERE `entry`=3868; -- Blood Seeker
+UPDATE `creature_template` SET `faction`=24 WHERE `entry`=3873; -- Tormented Officer
+UPDATE `creature_template` SET `faction`=24 WHERE `entry`=3887; -- Baron Silverlaine
+UPDATE `creature_template` SET `faction`=24 WHERE `entry`=4278; -- Commander Springvale
+UPDATE `creature_template` SET `faction`=29 WHERE `entry`=10050; -- Seikwa <Stable Master>
+UPDATE `creature_template` SET `faction`=29 WHERE `entry`=13476; -- Balai Lok'Wein <Potions, Scrolls & Reagents>
+UPDATE `creature_template` SET `faction`=29 WHERE `entry`=30611; -- Greela "The Grunt" Crankchain <Arena Organizer>
+UPDATE `creature_template` SET `faction`=29 WHERE `entry`=3464; -- Gazrog
+UPDATE `creature_template` SET `faction`=29 WHERE `entry`=6747; -- Innkeeper Kauth <Innkeeper>
+UPDATE `creature_template` SET `faction`=290 WHERE `entry`=1706; -- Defias Prisoner
+UPDATE `creature_template` SET `faction`=31 WHERE `entry`=16927; -- Stonescythe Whelp
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=15694; -- Stormwind Reveler
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=15719; -- Thunder Bluff Reveler
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=15905; -- Darnassus Reveler
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=15906; -- Ironforge Reveler
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=15907; -- Undercity Reveler
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=15908; -- Orgrimmar Reveler
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=19912; -- Zeggon Botsnap <Arena Battlemaster>
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=23131; -- Blood Knight Honor Guard
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=26816; -- Focus Wizard
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=2768; -- Professor Phizzlethorpe <Blackwater Raiders>
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=29501; -- Scourge Gryphon
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=29; -- Kanrethad <Master of Death>
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=30352; -- Skybreaker Marine
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=30755; -- Kor'kron Reaver
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=31238; -- Hira Snowdawn <Cold Weather Flying Trainer>
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=34984; -- World Trigger (Not Floating)
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=35496; -- Rueben Lauren <Cloth Armor Merchant>
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=35498; -- Horace Hunderland <Plate Armor Merchant>
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=40199; -- Tiki Warrior
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=40274; -- Restless Zombie
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=7271; -- Witch Doctor Zum'rah
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=9034; -- Hate'rel
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=9035; -- Anger'rel
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=9036; -- Vile'rel
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=9037; -- Gloom'rel
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=9038; -- Seeth'rel
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=9039; -- Doom'rel
+UPDATE `creature_template` SET `faction`=35 WHERE `entry`=9040; -- Dope'rel
+UPDATE `creature_template` SET `faction`=38 WHERE `entry`=8211; -- Old Cliff Jumper
+UPDATE `creature_template` SET `faction`=40 WHERE `entry`=10299; -- Scarshield Infiltrator <Scarshield Legion>
+UPDATE `creature_template` SET `faction`=40 WHERE `entry`=334; -- Gath'Ilzogg <Warlord of the Blackrock Clan>
+UPDATE `creature_template` SET `faction`=412 WHERE `entry`=15108; -- Forsaken Horse
+UPDATE `creature_template` SET `faction`=413 WHERE `entry`=3251; -- Silithid Grub
+UPDATE `creature_template` SET `faction`=413 WHERE `entry`=3252; -- Silithid Swarmer
+UPDATE `creature_template` SET `faction`=416 WHERE `entry`=4857; -- Stone Keeper
+UPDATE `creature_template` SET `faction`=44 WHERE `entry`=2356; -- Elder Gray Bear
+UPDATE `creature_template` SET `faction`=45 WHERE `entry`=7034; -- Firegut Ogre Mage
+UPDATE `creature_template` SET `faction`=45 WHERE `entry`=7035; -- Firegut Brute
+UPDATE `creature_template` SET `faction`=475 WHERE `entry`=7407; -- Chief Engineer Bilgewhizzle <Gadgetzan Water Co.>
+UPDATE `creature_template` SET `faction`=48 WHERE `entry`=2560; -- Highland Thrasher
+UPDATE `creature_template` SET `faction`=48 WHERE `entry`=2561; -- Highland Fleshstalker
+UPDATE `creature_template` SET `faction`=534 WHERE `entry`=15351; -- Alliance Brigadier General
+UPDATE `creature_template` SET `faction`=534 WHERE `entry`=8436; -- Zamael Lunthistle
+UPDATE `creature_template` SET `faction`=54 WHERE `entry`=8929; -- Princess Moira Bronzebeard <Princess of Ironforge>
+UPDATE `creature_template` SET `faction`=55 WHERE `entry`=10301; -- Jaron Stoneshaper <Explorers' League>
+UPDATE `creature_template` SET `faction`=55 WHERE `entry`=12617; -- Khaelyn Steelwing <Gryphon Master>
+UPDATE `creature_template` SET `faction`=57 WHERE `entry`=1476; -- Hargin Mundar
+UPDATE `creature_template` SET `faction`=575 WHERE `entry`=5856; -- Glassweb Spider
+UPDATE `creature_template` SET `faction`=64 WHERE `entry`=39275; -- Gnomeregan Medic
+UPDATE `creature_template` SET `faction`=655 WHERE `entry`=9524; -- Kolkar Invader
+UPDATE `creature_template` SET `faction`=674 WHERE `entry`=5843; -- Slave Worker
+UPDATE `creature_template` SET `faction`=68 WHERE `entry`=12636; -- Georgia <Bat Handler>
+UPDATE `creature_template` SET `faction`=7 WHERE `entry`=32573; -- Valgarde Captive
+UPDATE `creature_template` SET `faction`=7 WHERE `entry`=946; -- Frostmane Novice
+UPDATE `creature_template` SET `faction`=714 WHERE `entry`=16580; -- Thrallmar Grunt
+UPDATE `creature_template` SET `faction`=714 WHERE `entry`=16582; -- Thrallmar Marksman
+UPDATE `creature_template` SET `faction`=735 WHERE `entry`=10043; -- Ribbly's Crony
+UPDATE `creature_template` SET `faction`=754 WHERE `entry`=14621; -- Overseer Maltorius
+UPDATE `creature_template` SET `faction`=775 WHERE `entry`=24484; -- Brewfest Reveler
+UPDATE `creature_template` SET `faction`=775 WHERE `entry`=27811; -- Brew Vendor <Brew of the Month Club>
+UPDATE `creature_template` SET `faction`=775 WHERE `entry`=27813; -- Brew Vendor <Brew of the Month Club>
+UPDATE `creature_template` SET `faction`=775 WHERE `entry`=27817; -- Brew Vendor <Brew of the Month Club>
+UPDATE `creature_template` SET `faction`=776 WHERE `entry`=15192; -- Anachronos
+UPDATE `creature_template` SET `faction`=79 WHERE `entry`=4054; -- Laughing Sister
+UPDATE `creature_template` SET `faction`=79 WHERE `entry`=7939; -- Feathermoon Sentinel
+UPDATE `creature_template` SET `faction`=794 WHERE `entry`=11034; -- Lord Maxwell Tyrosus <The Argent Dawn>
+UPDATE `creature_template` SET `faction`=794 WHERE `entry`=11036; -- Leonid Barthalomew the Revered <The Argent Dawn>
+UPDATE `creature_template` SET `faction`=794 WHERE `entry`=11039; -- Duke Nicholas Zverenhoff <The Argent Dawn>
+UPDATE `creature_template` SET `faction`=794 WHERE `entry`=11063; -- Carlin Redpath <The Argent Dawn>
+UPDATE `creature_template` SET `faction`=80 WHERE `entry`=10300; -- Ranshalla
+UPDATE `creature_template` SET `faction`=80 WHERE `entry`=11079; -- Wynd Nightchaser
+UPDATE `creature_template` SET `faction`=80 WHERE `entry`=2084; -- Natheril Raincaller <General Goods>
+UPDATE `creature_template` SET `faction`=80 WHERE `entry`=2303; -- Lyranne Feathersong <Food & Drink>
+UPDATE `creature_template` SET `faction`=80 WHERE `entry`=3779; -- Syurana <Trade Supplies>
+UPDATE `creature_template` SET `faction`=80 WHERE `entry`=3845; -- Shindrell Swiftfire
+UPDATE `creature_template` SET `faction`=80 WHERE `entry`=3847; -- Orendil Broadleaf
+UPDATE `creature_template` SET `faction`=814 WHERE `entry`=10839; -- Argent Officer Garush <The Argent Dawn>
+UPDATE `creature_template` SET `faction`=814 WHERE `entry`=10840; -- Argent Officer Pureheart <The Argent Dawn>
+UPDATE `creature_template` SET `faction`=814 WHERE `entry`=10857; -- Argent Quartermaster Lightspark <The Argent Dawn>
+UPDATE `creature_template` SET `faction`=814 WHERE `entry`=11536; -- Quartermaster Miranda Breechlock <The Argent Dawn>
+UPDATE `creature_template` SET `faction`=83 WHERE `entry`=1740; -- Deathguard Saltain
+UPDATE `creature_template` SET `faction`=83 WHERE `entry`=3084; -- Bluffwatcher
+UPDATE `creature_template` SET `faction`=83 WHERE `entry`=5724; -- Ageron Kargal
+UPDATE `creature_template` SET `faction`=84 WHERE `entry`=4961; -- Dashel Stonefist
+UPDATE `creature_template` SET `faction`=84 WHERE `entry`=6090; -- Bartleby <Drunk>
+UPDATE `creature_template` SET `faction`=875 WHERE `entry`=39715; -- Ejector Mechano-Tank
+UPDATE `creature_template` SET `faction`=89 WHERE `entry`=10418; -- Crimson Guardsman
+UPDATE `creature_template` SET `faction`=89 WHERE `entry`=10605; -- Scarlet Medic
+UPDATE `creature_template` SET `faction`=89 WHERE `entry`=1831; -- Scarlet Hunter
+UPDATE `creature_template` SET `faction`=89 WHERE `entry`=1835; -- Scarlet Invoker
+UPDATE `creature_template` SET `faction`=90 WHERE `entry`=9776; -- Flamekin Spitter
+UPDATE `creature_template` SET `faction`=90 WHERE `entry`=9778; -- Flamekin Torcher
+UPDATE `creature_template` SET `faction`=90 WHERE `entry`=9779; -- Flamekin Rager
+UPDATE `creature_template` SET `faction`=93 WHERE `entry`=4016; -- Fey Dragon
+UPDATE `creature_template` SET `faction`=974 WHERE `entry`=36830; -- Wrathbone Laborer
+
+-- diff entries update
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=18603;
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=40143;
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=40144;
+UPDATE `creature_template` SET `faction`=14 WHERE `entry`=40145;
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=31560;
+UPDATE `creature_template` SET `faction`=16 WHERE `entry`=38444;
+UPDATE `creature_template` SET `faction`=1692 WHERE `entry`=30926;
+UPDATE `creature_template` SET `faction`=1770 WHERE `entry`=37614;
+UPDATE `creature_template` SET `faction`=1770 WHERE `entry`=37618;
+UPDATE `creature_template` SET `faction`=1770 WHERE `entry`=37619;
+UPDATE `creature_template` SET `faction`=1770 WHERE `entry`=37620;
+UPDATE `creature_template` SET `faction`=1814 WHERE `entry`=31355;
+UPDATE `creature_template` SET `faction`=1814 WHERE `entry`=31357;
+UPDATE `creature_template` SET `faction`=1878 WHERE `entry`=21943;
+UPDATE `creature_template` SET `faction`=1965 WHERE `entry`=31345;
+UPDATE `creature_template` SET `faction`=1965 WHERE `entry`=34111;
+UPDATE `creature_template` SET `faction`=2209 WHERE `entry`=38061;
+UPDATE `creature_template` SET `faction`=974 WHERE `entry`=37638;
diff --git a/sql/updates/world/2014_09_07_03_world_npc_misc.sql b/sql/updates/world/2014_09_07_03_world_npc_misc.sql
new file mode 100644
index 00000000000..2fec86147c8
--- /dev/null
+++ b/sql/updates/world/2014_09_07_03_world_npc_misc.sql
@@ -0,0 +1,3193 @@
+-- unit_class
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=25705; -- Bixie Wrenchshanker
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=25806; -- Loot Crazed Poacher
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=2588; -- Syndicate Prowler
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=28341; -- Stratholme Resident
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=37666; -- Darkfallen Tactician <The San'layn>
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=38001; -- Light's Vengeance Bunny 2
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=4834; -- Theramore Infiltrator
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=5491; -- Arthur the Faithful <Paladin Trainer>
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=5492; -- Katherine the Pure <Paladin Trainer>
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=5615; -- Wastewander Rogue
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=5616; -- Wastewander Thief
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=5623; -- Wastewander Assassin
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=5645; -- Sandfury Hideskinner
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=5646; -- Sandfury Axe Thrower
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=8480; -- Kalaran the Deceiver
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=928; -- Lord Grayson Shadowbreaker <Paladin Trainer>
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=1179; -- Mo'grosh Enforcer
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=12791; -- Chieftain Earthbind
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=14026; -- Trigger Guse
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=14027; -- Trigger Mulverick
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=14028; -- Trigger Jeztor
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=14029; -- Trigger Ichman
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=14030; -- Trigger Slidore
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=14031; -- Trigger Vipore
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=23583; -- Evidence Marker
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=23705; -- Catlord Corpse
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=23716; -- Hexxer Corpse
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=24410; -- Vazruden the Herald Image
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=24411; -- Shattered Hand Centurion Image
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=25424; -- Vision of Farseer Grimwalker
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=25456; -- Vision of Kaganishu
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=25457; -- Vision of Magmoth Shaman
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=25458; -- Vision of Farseer Grimwalker's Spirit
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=25754; -- Earthen Ring Flamecaller <The Earthen Ring>
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=25955; -- Hand of the Deceiver Sunwell
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=26579; -- Anveena Replica
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=30677; -- Highlord Tirion Fordring
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=34281; -- [DND]Azeroth Children's Week Trigger
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=34461; -- Tyrius Duskblade <Death Knight>
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=34735; -- Black Knight's Grave
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=34810; -- CoD Eye Proxy
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=35079; -- Firehawk Mariner Female (Dead)
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=35083; -- Firehawk Mariner Male (Dead)
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=35089; -- Black Knight Spell Proxy
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=35104; -- Wavecrest Mariner Female (Dead)
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=35105; -- Wavecrest Mariner Male (Dead)
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=35106; -- Black Knight Caster
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=36551; -- Spiteful Apparition
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=36817; -- [DND] Love Boat Summoner
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37181; -- The Lich King
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37183; -- Highlord Bolvar Fordragon
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37498; -- Coliseum Champion
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37852; -- Quel'Delar Skull Target
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=38340; -- [DND] Holiday - Love - Bank Bunny
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=38341; -- [DND] Holiday - Love - AH Bunny
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=38342; -- [DND] Holiday - Love - Barber Bunny
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=38751; -- Black Knight Shield Proxy
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=39647; -- Zalazane
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=39654; -- Vol'jin
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=40182; -- Bwonsamdi
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=40192; -- Vanira
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=40196; -- Zen'tabra
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=40231; -- Hexed Troll
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=40405; -- Kieupid <Pet Trainer>
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=40413; -- Alenjon Sunblade <Battlemaster>
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=40425; -- Voodoo Troll
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=40481; -- Troll Celebrant
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=40502; -- Zalazane
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=6221; -- Addled Leper
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=8856; -- Tyrion's Spybot
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=29840; -- The Leaper
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=29859; -- The Leaper
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=30714; -- Crusade Engineer Spitzpatrick
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=34983; -- Deathstalker Fane <Battlemaster>
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=35579; -- Aspirant Forudir <Triumphant Armor Vendor>
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=35580; -- Aspirant Naradiel <Triumphant Armor Vendor>
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=36121; -- Maz'dinah
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=36517; -- Aleric Hawkins <The Deathstalkers>
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=37017; -- Skybreaker Assassin
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=38200; -- Silver Covenant Agent
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=38471; -- Infiltrator Minchar
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=39263; -- Disassembled Mechano-Tank
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=39715; -- Ejector Mechano-Tank
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=39716; -- Scuttling Mechano-Tank
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=39717; -- Shooting Mechano-Tank
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=12790; -- Advisor Willington
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=15607; -- Elder Farwhisper
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=19850; -- Councilor Arial D'Anastasis
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32654; -- SOTA Alliance Gun 1
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32655; -- SOTA Horde Gun 2
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32656; -- SOTA Horde Gun 1
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32661; -- SOTA Alliance Gun 2
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32753; -- Lok <Death Knight Glyphs>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32754; -- Austeen <Druid Glyphs>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32755; -- Holloway Fjordhammer <Hunter Glyphs>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32756; -- Linus Galespin <Mage Glyphs>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32757; -- Harold Dawson <Paladin Glyphs>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32758; -- Charlotte Mader <Priest Glyphs>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32759; -- Libby Waterwheel <Rogue Glyphs>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32760; -- Juliet Stonehelm <Shaman Glyphs>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32761; -- Claire Littlesun <Warlock Glyphs>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=32762; -- David Hume <Warrior Glyphs>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=34043; -- Lady Palanseer <Jewelcrafting Quartermaster>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=34060; -- Doris Volanthius <Veteran Armor Quartermaster>
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=37497; -- Coliseum Champion
+
+-- diff entry updates
+UPDATE `creature_template` SET `unit_class`=1 WHERE `entry`=38479;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=22581;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=22582;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=22583;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=22584;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=22585;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=22586;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=35743;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37564;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37605;
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=38078;
+UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=38486;
+UPDATE `creature_template` SET `unit_class`=8 WHERE `entry`=37603;
+
+-- speeds
+UPDATE `creature_template` SET `speed_run`=0.1142857 WHERE `entry`=19871; -- World Trigger (Not Immune NPC)
+UPDATE `creature_template` SET `speed_run`=0.1428571 WHERE `entry`=37826; -- Light's Vengeance
+UPDATE `creature_template` SET `speed_run`=0.2857143 WHERE `entry`=12222; -- Creeping Sludge
+UPDATE `creature_template` SET `speed_run`=0.2857143 WHERE `entry`=16243; -- Plague Slime
+UPDATE `creature_template` SET `speed_run`=0.4285714 WHERE `entry`=10481; -- Reanimated Corpse
+UPDATE `creature_template` SET `speed_run`=0.4285714 WHERE `entry`=40502; -- Zalazane
+UPDATE `creature_template` SET `speed_run`=0.4571428 WHERE `entry`=32325; -- Gold Priest
+UPDATE `creature_template` SET `speed_run`=0.4571428 WHERE `entry`=32343; -- Green Priest
+UPDATE `creature_template` SET `speed_run`=0.4714286 WHERE `entry`=9083; -- Razal'blade <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_run`=0.4714286 WHERE `entry`=9084; -- Thunderheart <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_run`=0.4714286 WHERE `entry`=9085; -- Initiate Amakkar <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_run`=0.4714286 WHERE `entry`=9086; -- Grunt Gargal <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_run`=0.5714286 WHERE `entry`=10480; -- Unstable Corpse
+UPDATE `creature_template` SET `speed_run`=0.5714286 WHERE `entry`=12121; -- Drakan
+UPDATE `creature_template` SET `speed_run`=0.5714286 WHERE `entry`=24082; -- Proto-Drake Handler
+UPDATE `creature_template` SET `speed_run`=0.5714286 WHERE `entry`=27737; -- Risen Zombie
+UPDATE `creature_template` SET `speed_run`=0.5714286 WHERE `entry`=28167; -- Stratholme Citizen
+UPDATE `creature_template` SET `speed_run`=0.5714286 WHERE `entry`=28169; -- Stratholme Resident
+UPDATE `creature_template` SET `speed_run`=0.5714286 WHERE `entry`=37543; -- [DND] Shaker
+UPDATE `creature_template` SET `speed_run`=0.5714286 WHERE `entry`=37544; -- Spire Gargoyle
+UPDATE `creature_template` SET `speed_run`=0.5714286 WHERE `entry`=37574; -- [DND] Shaker - Small
+UPDATE `creature_template` SET `speed_run`=0.5952386 WHERE `entry`=30026; -- Az'Barin, Prince of the Gust
+UPDATE `creature_template` SET `speed_run`=0.5952386 WHERE `entry`=30045; -- Fiend of Air
+UPDATE `creature_template` SET `speed_run`=0.5952386 WHERE `entry`=30184; -- Scion of Storm
+UPDATE `creature_template` SET `speed_run`=0.5952386 WHERE `entry`=30550; -- Image of the North Wind
+UPDATE `creature_template` SET `speed_run`=0.6857142 WHERE `entry`=37148; -- Skybreaker Summoner
+UPDATE `creature_template` SET `speed_run`=0.6928571 WHERE `entry`=33564; -- Ironforge Valiant
+UPDATE `creature_template` SET `speed_run`=0.6928571 WHERE `entry`=33739; -- Exodar Champion
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=13338; -- Core Rat
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=16927; -- Stonescythe Whelp
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=22134; -- Shadowmoon Eye of Kilrogg
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=25377; -- Brittle Skeleton
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=25832; -- Max Blasto
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=30142; -- The Iron Watcher
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=37782; -- Flesh-eating Insect
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=38228; -- Plagued Insect
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=7784; -- Homing Robot OOX-17/TN
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=7789; -- Sandfury Cretin
+UPDATE `creature_template` SET `speed_run`=0.7142857 WHERE `entry`=7849; -- Mobile Alert System
+UPDATE `creature_template` SET `speed_run`=0.7857143 WHERE `entry`=28167; -- Stratholme Citizen
+UPDATE `creature_template` SET `speed_run`=0.7857143 WHERE `entry`=28169; -- Stratholme Resident
+UPDATE `creature_template` SET `speed_run`=0.8 WHERE `entry`=636; -- Defias Blackguard
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=11473; -- Eldreth Spectre
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=11625; -- Cork Gizelton
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=11626; -- Rigger Gizelton
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=14431; -- Fury Shelda
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=14894; -- Swarm of bees
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1520; -- Rattlecage Soldier
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1522; -- Darkeye Bonecaster
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1523; -- Cracked Skull Soldier
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1527; -- Hungering Dead
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1528; -- Shambling Horror
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1531; -- Lost Soul
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1534; -- Wailing Ancestor
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1535; -- Scarlet Warrior
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15407; -- Chieftain Zul'Marosh
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1544; -- Vile Fin Minor Oracle
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1545; -- Vile Fin Muckdweller
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15635; -- Eversong Tender
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15636; -- Eversong Green Keeper
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15637; -- Withered Green Keeper
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15641; -- Amani Axe Thrower
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15642; -- Amani Shadowpriest
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15643; -- Amani Berserker
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15645; -- Wretched Thug
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15647; -- Mana Stalker
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15648; -- Manawraith
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15650; -- Crazed Dragonhawk
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15654; -- Plaguebone Pillager
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15655; -- Rotlimb Cannibal
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15656; -- Angershade
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15657; -- Darkwraith
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15658; -- Rotlimb Marauder
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15668; -- Grimscale Murloc
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15669; -- Grimscale Oracle
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15670; -- Grimscale Forager
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15950; -- Grimscale Seer
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=15965; -- Duskwither Apprentice
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=16162; -- Wretched Hooligan
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=16519; -- Shadowy Executioner
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1655; -- Nissa Agamand
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1657; -- Devlin Agamand
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1674; -- Rot Hide Gnoll
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1675; -- Rot Hide Mongrel
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=16855; -- Tregla
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=16998; -- Mr. Bigglesworth
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=17186; -- Deranged Owlbeast
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=17187; -- Aberrant Owlbeast
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=17189; -- Crazed Wildkin
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=171; -- Murloc Warrior
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=18718; -- Shadowy Hunter
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=18720; -- Shadowmaster Grieve
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1910; -- Muad
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1934; -- Tirisfal Farmer
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1935; -- Tirisfal Farmhand
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=1936; -- Farmer Solliden
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2000; -- Webwood Silkspinner
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2006; -- Gnarlpine Ursa
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2007; -- Gnarlpine Gardener
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2009; -- Gnarlpine Shaman
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2010; -- Gnarlpine Defender
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2011; -- Gnarlpine Augur
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2012; -- Gnarlpine Pathfinder
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2015; -- Bloodfeather Harpy
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2017; -- Bloodfeather Rogue
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2018; -- Bloodfeather Sorceress
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2022; -- Timberling
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2025; -- Timberling Bark Ripper
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2027; -- Timberling Trampler
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2029; -- Timberling Mire Beast
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=27523; -- Grizzlesnout
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2961; -- Mountain Cougar
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2968; -- Galak Outrunner
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=2969; -- Wiry Swoop
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=3103; -- Makrura Clacker
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=3104; -- Makrura Shellhide
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=3106; -- Pygmy Surf Crawler
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=3107; -- Surf Crawler
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=3113; -- Razormane Dustrunner
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=3114; -- Razormane Battleguard
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=3206; -- Voodoo Troll
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=3207; -- Hexed Troll
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=32258; -- Gold Beetle
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=327; -- Goldtooth
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=330; -- Princess
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=38232; -- Blood Spider
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=390; -- Porcine Entourage
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=39647; -- Zalazane
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=4075; -- Rat
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=4364; -- Strashaz Warrior
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=4366; -- Strashaz Serpent Guard
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=4368; -- Strashaz Myrmidon
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=4370; -- Strashaz Sorceress
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=4371; -- Strashaz Siren
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=4374; -- Strashaz Hydra
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=471; -- Mother Fang
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=473; -- Morgan the Collector
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=476; -- Kobold Geomancer
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=60; -- Ruklar the Trapper
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=6575; -- Scarlet Trainee
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=7883; -- Andre Firebeard
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=79; -- Narg the Taskmaster
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=880; -- Erlan Drudgemoor
+UPDATE `creature_template` SET `speed_run`=0.8571429 WHERE `entry`=881; -- Surena Caledon
+UPDATE `creature_template` SET `speed_run`=0.8857142 WHERE `entry`=12246; -- Super-Seller 680
+UPDATE `creature_template` SET `speed_run`=0.9126986 WHERE `entry`=25033; -- Eredar Sorcerer
+UPDATE `creature_template` SET `speed_run`=0.9523814 WHERE `entry`=24954; -- Aged Magnataur
+UPDATE `creature_template` SET `speed_run`=0.9523814 WHERE `entry`=25615; -- Plagued Magnataur
+UPDATE `creature_template` SET `speed_run`=0.9523814 WHERE `entry`=25789; -- Gammothra the Tormentor
+UPDATE `creature_template` SET `speed_run`=0.9523814 WHERE `entry`=26607; -- Anub'ar Blightbeast
+UPDATE `creature_template` SET `speed_run`=0.9523814 WHERE `entry`=28380; -- Shattertusk Bull
+UPDATE `creature_template` SET `speed_run`=0.9523814 WHERE `entry`=29445; -- Thorim
+UPDATE `creature_template` SET `speed_run`=0.9523814 WHERE `entry`=30295; -- Thorim
+UPDATE `creature_template` SET `speed_run`=0.9523814 WHERE `entry`=30390; -- Thorim
+UPDATE `creature_template` SET `speed_run`=0.9523814 WHERE `entry`=37864; -- Lord Marrowgar Image
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=10916; -- Winterfall Runner
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=11516; -- Timbermaw Warder
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=11552; -- Timbermaw Mystic
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=11553; -- Timbermaw Woodbender
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=11555; -- Gorn One Eye
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=11556; -- Salfa
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=11557; -- Meilosh
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=11558; -- Kernda
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=17556; -- Death Ravager
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=17816; -- Bogstrok
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=17817; -- Greater Bogstrok
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=17827; -- Claw <Swamplord Musel'ek's Pet>
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=18586; -- Coosh'coosh
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=21478; -- Rocknail Ripper
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=23326; -- Nethermine Ravager
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=25031; -- Pit Overlord
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=25601; -- Prince Valanar <The San'layn>
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=25833; -- The Grinder
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=26203; -- Image of the Lich King
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=26406; -- The Anvil <Furyhammer's Guardian>
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=26409; -- Rune-Smith Durar
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=26410; -- Rune-Smith Kathorn
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=26533; -- Mal'Ganis
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=26570; -- Famished Scourge Troll
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=27960; -- Dark Rune Warrior
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=27961; -- Dark Rune Worker
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=27962; -- Dark Rune Elementalist
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=27963; -- Dark Rune Theurgist
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=27964; -- Dark Rune Scholar
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=27965; -- Dark Rune Shaper
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=27966; -- Dark Rune Controller
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=27973; -- Crystalline Shardling
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=28103; -- Urgreth of the Thousand Tombs
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=28149; -- Earthen Protector
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=28409; -- Time Rift (CoT Stratholme)
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=28439; -- Time Rift (CoT Stratholme, Large)
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=28581; -- Stormforged Tactician
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=28582; -- Stormforged Mender
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=28836; -- Stormforged Runeshaper
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=28837; -- Stormforged Sentinel
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=29240; -- Stormforged Lieutenant
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=29368; -- Valduran the Stormborn
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=29370; -- Stormforged Champion
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=29374; -- Stormforged Magus
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=29556; -- Goblin Sapper Backpack
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=29722; -- Rabid Cannibal
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=29806; -- SCRAP-E
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=29832; -- Drakkari Golem
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=29840; -- The Leaper
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30340; -- Jormuttar
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30348; -- Elder Sardis
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30357; -- Elder Beldak
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30358; -- Elder Morthie
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30359; -- Elder Fargal
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30360; -- Elder Northal
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30362; -- Elder Sandrene
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30363; -- Elder Thoim
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30364; -- Elder Arp
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30375; -- Elder Stonebeard
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30447; -- Romping Rhino
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30533; -- Elder Nurgen
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30697; -- Putrid Colossus
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30899; -- Abedneum
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=30945; -- Vardmadra
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=31029; -- Possessed Vardmadra
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=31104; -- Ahn'kahar Watcher
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=32174; -- Teleportation Portal (Elite)
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=34460; -- Kavina Grovesong <Druid>
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=34568; -- Light Essence
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=35339; -- Boat Fire
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=35377; -- Door Fire
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=35379; -- Honorable Defender Trigger (Alliance)
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=35380; -- Honorable Defender Trigger (Horde)
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=36349; -- Honorable Defender Trigger, 25 yd (Alliance)
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=36350; -- Honorable Defender Trigger, 25 yd (Horde)
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=36724; -- Servant of the Throne
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=36725; -- Nerub'ar Broodkeeper
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=36817; -- [DND] Love Boat Summoner
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=36880; -- Decaying Colossus
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=37519; -- Safe Area (IGB)
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=37596; -- Lady Sylvanas Windrunner <Banshee Queen>
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=37846; -- Blood-Queen Lana'thel <The San'layn>
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=37857; -- The Lich King
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=37948; -- Deathwhisper Controller
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=4050; -- Cenarion Caretaker
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=7438; -- Winterfall Ursa
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=7439; -- Winterfall Shaman
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=7440; -- Winterfall Den Watcher
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=7441; -- Winterfall Totemic
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=7442; -- Winterfall Pathfinder
+UPDATE `creature_template` SET `speed_run`=0.9920629 WHERE `entry`=7726; -- Grimtotem Naturalist
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=10415; -- Ash'ari Crystal
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=14860; -- Flik
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=14872; -- Trok
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=14874; -- Karu
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=15652; -- Elder Springpaw
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17361; -- Totem of Coo
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17362; -- Totem of Tikti
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17363; -- Totem of Yor
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17364; -- Totem of Vark
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17722; -- Coilfang Sorceress
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17799; -- Dreghood Slave
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17801; -- Coilfang Siren
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17803; -- Coilfang Oracle
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17826; -- Swamplord Musel'ek
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17941; -- Mennu the Betrayer
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17954; -- Naga Distiller
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17960; -- Coilfang Soothsayer
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17961; -- Coilfang Enchantress
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17962; -- Coilfang Collaborator
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17963; -- Wastewalker Slave
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=17964; -- Wastewalker Worker
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=18206; -- Wastewalker Captive
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=18678; -- Fulgorge
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=18681; -- Coilfang Emissary
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=19164; -- Refugee Child
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=19767; -- Coilskar Sorceress
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=19768; -- Coilskar Siren
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=20076; -- Naga Distiller (Coilskar Point)
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=20684; -- Lady Shav'rar
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=20812; -- Corki
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=21126; -- Coilfang Scale-Healer
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=21416; -- Lakaan <Corruptor of Water>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=21420; -- Corrupt Water Totem
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=21453; -- Ashtongue Shaman <Servant of Illidan>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=21454; -- Ashtongue Warrior <Servant of Illidan>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=21455; -- Ashtongue Worker <Servant of Illidan>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=21663; -- Oronu the Elder
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=21803; -- Ashtongue Handler <Servant of Illidan>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=21902; -- Cabal Spell-weaver
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=22314; -- Captive Child
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=23287; -- Murkblood Miner
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=23309; -- Murkblood Overseer
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=25073; -- Darkspine Siren
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=25391; -- En'kilah Focus Crystal
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=25422; -- Mystical Webbing
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=25534; -- En'kilah Blood Globe
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=25754; -- Earthen Ring Flamecaller <The Earthen Ring>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=25880; -- Minion of Kaw
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=25961; -- Earthen Ring Totem
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=26048; -- Storm Totem
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=26497; -- Lady Jaina Proudmoore
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28083; -- Serfex the Reaver
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28253; -- Mistwhisper Lightning Cloud
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28476; -- Runebladed Sword
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28656; -- Hourglass (CoT Stratholme)
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28687; -- Amisi Azuregaze <Innkeeper>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28704; -- Dorothy Egan <Grand Master Herbalism Trainer>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28706; -- Olisarra the Kind <Grand Master First Aid Trainer>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28708; -- Kizi Copperclip <Barber>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28714; -- Ildine Sorrowspear <Enchanting Supplies>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28716; -- Palja Amboss <Blacksmithing Supplies>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28990; -- Anthony Durain <Shield Merchant>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28995; -- Paldesse <Cloth Armor Merchant>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=28997; -- Griselda Hunderland <Plate Armor Merchant>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=29218; -- Portal to the Shadow Realm
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=29255; -- Sunreaver Guardian Mage
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=29478; -- Jepetto Joybuzz <Toymaker>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=29505; -- Imindril Spearsong <Weaponsmithing Trainer>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=29509; -- Namha Moonwater <Tribal Leatherworking Trainer>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=29511; -- Lalla Brightweave <Spellfire Tailoring Specialist>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=29513; -- Didi the Wrench <Goblin Engineering Trainer>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=29628; -- Angelique Butler <First Aid Supplies>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=29641; -- Theresa Wolf <Loremaster>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=29703; -- Sheddle Glossgleam <Cobbler>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=30095; -- Dalaran Sewer Turtle
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=30167; -- Gimorak
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=30831; -- High Priest Yath'amon
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=30891; -- Blessed Banner of the Crusade
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=31769; -- Stabled Hunter Pet
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32172; -- Harold Winston <Jewelry Vendor>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32329; -- Kanika Goldwell <Arena Organizer>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32333; -- "Dapper" Danik Blackshaft <Arena Battlemaster>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32515; -- Braeg Stoutbeard <Fur & Leather Trader>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32602; -- Dalaran Visitor
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32651; -- Wounded Dalaran Shield Guard
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32653; -- Wounded Dalaran Serpent
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32654; -- SOTA Alliance Gun 1
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32661; -- SOTA Alliance Gun 2
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32676; -- Grindle Firespark
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32678; -- Emeline Fizzlefry
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32680; -- Fabioso the Fabulous
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32684; -- Mona Everspring
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32689; -- Adorean Lew
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32731; -- Metopious Loreseeker
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=32744; -- Bakor the Gangly <Arena Enthusiast>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=33224; -- Lake Frog
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=34567; -- Dark Essence
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=35320; -- Lady Jaina Proudmoore
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=35496; -- Rueben Lauren <Cloth Armor Merchant>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=35498; -- Horace Hunderland <Plate Armor Merchant>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=36955; -- Lady Jaina Proudmoore
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=36993; -- Lady Jaina Proudmoore
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=37107; -- Spiritual Reflection
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=37132; -- Ymirjar Battle-Maiden
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=37188; -- Lady Jaina Proudmoore
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=37880; -- Stormwind Portal
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=37887; -- Kwee Q. Peddlefeet <Crown Chemical Co.>
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=38188; -- Lady Jaina Proudmoore
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=40187; -- Vanira's Sentry Totem
+UPDATE `creature_template` SET `speed_run`=1 WHERE `entry`=7269; -- Scarab
+UPDATE `creature_template` SET `speed_run`=1.071429 WHERE `entry`=28242; -- Risen Reaver
+UPDATE `creature_template` SET `speed_run`=1.071429 WHERE `entry`=28443; -- Thalgran Blightbringer
+UPDATE `creature_template` SET `speed_run`=1.071429 WHERE `entry`=30471; -- Vargul Assailant
+UPDATE `creature_template` SET `speed_run`=1.071429 WHERE `entry`=30501; -- Val'kyr Arbiter
+UPDATE `creature_template` SET `speed_run`=1.071429 WHERE `entry`=30829; -- Salranax the Flesh Render
+UPDATE `creature_template` SET `speed_run`=1.071429 WHERE `entry`=32576; -- Orabus the Helmsman
+UPDATE `creature_template` SET `speed_run`=1.071429 WHERE `entry`=32577; -- Kvaldir Crewman
+UPDATE `creature_template` SET `speed_run`=1.071429 WHERE `entry`=32578; -- Kvaldir Crewman
+UPDATE `creature_template` SET `speed_run`=1.071429 WHERE `entry`=32579; -- Kvaldir Crewman
+UPDATE `creature_template` SET `speed_run`=1.071429 WHERE `entry`=32580; -- Kvaldir Crewman
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=11832; -- Keeper Remulos
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=16226; -- Guard Didier <Brotherhood of the Light>
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=16864; -- Stormwind Infantry
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=16912; -- Mag'har Hunter
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=20159; -- Magister Aledis
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=23308; -- Dragonmaw Peon Work Node
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=24410; -- Vazruden the Herald Image
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=25063; -- Dawnblade Hawkrider
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=25392; -- High Priest Andorath
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=26073; -- High Priest Talet-Kha
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=26448; -- Stars' Rest Sentinel
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=27272; -- Risen Villager
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=27499; -- Caged Prisoner
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=27768; -- Image of Razuvious
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=28636; -- Heb'Jin
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=29477; -- Earthen Defender
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=29546; -- K3 Snow Runner
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=30387; -- Seething Revenant
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=30696; -- Corpulent Horror
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=30864; -- Shandaral Hunter Spirit
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=31755; -- Stabled Hunter Pet
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=31773; -- Plague Cauldron Target
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=31900; -- Scourge Banner-Bearer
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=32181; -- Living Plague
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=32429; -- Seething Hate
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=32442; -- Plague Cauldron Target 02
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=32572; -- Dragonblight Mage Hunter
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=32598; -- Dalaran Visitor
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=3284; -- Venture Co. Drudger
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=33698; -- Argent Peacekeeper
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=36642; -- Myralion Sunblaze <Sunreavers>
+UPDATE `creature_template` SET `speed_run`=1.142857 WHERE `entry`=9543; -- Ribbly Screwspigot
+UPDATE `creature_template` SET `speed_run`=1.14286 WHERE `entry`=31045; -- Mirador
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=1013; -- Mosshide Mystic
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=10488; -- Risen Construct
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=11622; -- Rattlegore
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=125; -- Riverpaw Overseer
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=16334; -- Blackpaw Gnoll
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=1753; -- Maggot Eye
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=1772; -- Rot Hide Gladerunner
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=2372; -- Mudsnout Gnoll
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=25456; -- Vision of Kaganishu
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=25457; -- Vision of Magmoth Shaman
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=28109; -- Mistwhisper Warrior
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=28110; -- Mistwhisper Oracle
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=29554; -- Snowblind Devotee
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=29920; -- Ruins Dweller
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=32163; -- Grimkor's Hound
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=37011; -- The Damned
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=506; -- Sergeant Brashclaw
+UPDATE `creature_template` SET `speed_run`=1.190476 WHERE `entry`=5843; -- Slave Worker
+UPDATE `creature_template` SET `speed_run`=1.2 WHERE `entry`=29802; -- Cosmetic Toy Plane
+UPDATE `creature_template` SET `speed_run`=1.214286 WHERE `entry`=9684; -- Lar'korwi
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=14276; -- Scargil
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=16168; -- Stoneskin Gargoyle
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=2375; -- Torn Fin Coastrunner
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=25387; -- En'kilah Gargoyle
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=25964; -- Shaman Beam Bunny 000
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=25971; -- Shaman Bonfire Bunny 000
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=25972; -- Shaman Bonfire Bunny 001
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=25973; -- Shaman Bonfire Bunny 002
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=27911; -- Nell
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=27912; -- Pepper
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=28221; -- Trapdoor Crawler
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=28578; -- Hardened Steel Reaver
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=28579; -- Hardened Steel Berserker
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=28580; -- Hardened Steel Skycaller
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=28599; -- Plagueroach
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=28838; -- Titanium Vanguard
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=29481; -- Lok'lira the Crone
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=29639; -- Brunnhildar Prisoner
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=30187; -- Mirador
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=30573; -- Duke
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=30574; -- Arion
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=30595; -- Highlord Tirion Fordring
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=30677; -- Highlord Tirion Fordring
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=3864; -- Fel Steed
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=3865; -- Shadow Charger
+UPDATE `creature_template` SET `speed_run`=1.285714 WHERE `entry`=5914; -- Deviate Nightmare
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=10404; -- Pustulating Horror
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=13280; -- Hydrospawn
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=13282; -- Noxxion
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=15553; -- Doctor Weavil's Flying Machine
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=16232; -- Caravan Mule
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=17076; -- Lady Liadrin <Blood Knight Matriarch>
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=17181; -- Spirit of Water
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=21059; -- Enraged Water Spirit
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=25476; -- Waltor of Pal'ea
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=26103; -- Darkfallen Deathblade <The San'layn>
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=28612; -- Knight of the Silver Hand
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=29830; -- Living Mojo
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=30987; -- Hideous Plaguebringer
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=33643; -- Silver Covenant Guardian
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=6220; -- Irradiated Horror
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=6233; -- Mechanized Sentry
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=6234; -- Mechanized Guardian
+UPDATE `creature_template` SET `speed_run`=1.289683 WHERE `entry`=7079; -- Viscous Fallout
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=11701; -- Mor'vek <Ravasaur Trainers>
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=12150; -- Riding Kodo (Purple)
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=12337; -- Crimson Courier
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=14566; -- Ancient Equine Spirit
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=15541; -- Twilight Marauder Morna <Twilight's Hammer>
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=18146; -- Champion Vranesh
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=19280; -- Red Hawkstrider
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=19281; -- Swift Pink Hawkstrider
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=19795; -- Eclipsion Blood Knight
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=19910; -- Gargok <Warsong Gulch Battlemaster>
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=20217; -- Purple Hawkstrider
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=20220; -- Blue Hawkstrider
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=20222; -- Black Hawkstrider
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=20223; -- Swift Purple Hawkstrider
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=20224; -- Swift Green Hawkstrider
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=21719; -- Dragonmaw Drake-Rider
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=21979; -- Val'zareq the Conqueror <The Crimson Sigil>
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=22274; -- Dragonmaw Skybreaker
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=23188; -- Dragonmaw Transporter
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=25440; -- Scout Tungok
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=27365; -- Stabled Horse
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=27553; -- Kor'kron Vanguard
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=28611; -- Scarlet Captain
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=28824; -- Brann Flying Machine
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=29958; -- Tundra Ram
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=30224; -- Crusader Lord Dalfors
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=31003; -- Crusader Lord Dalfors
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=31033; -- Crusader of Virtue
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=32597; -- Dalaran Visitor
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=32601; -- Dalaran Visitor
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=35314; -- Orgrimmar Champion
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=35323; -- Sen'jin Champion
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=35325; -- Thunder Bluff Champion
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=35326; -- Silvermoon Champion
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=35327; -- Undercity Champion
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=35328; -- Stormwind Champion
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=35329; -- Ironforge Champion
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=35332; -- Darnassus Champion
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=36167; -- [DND] Bor'gorok Wolf
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=37586; -- Fury
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=39654; -- Vol'jin
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=40192; -- Vanira
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=40217; -- Echo Isle Animal
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=40391; -- Vol'jin
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=4779; -- Brown Ram
+UPDATE `creature_template` SET `speed_run`=1.385714 WHERE `entry`=5198; -- Arctic Riding Wolf
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=10038; -- Night Watch Guard <The Night Watch>
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=1010; -- Mosshide Fenrunner
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=1025; -- Bluegill Puddlejumper
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=10408; -- Rockwing Gargoyle
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=11190; -- Everlook Bruiser
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=11261; -- Doctor Theolen Krastinov <The Butcher>
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=11492; -- Alzzin the Wildshaper
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=15974; -- Dread Creeper
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=15975; -- Carrion Spinner
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=15976; -- Venom Stalker
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=15977; -- Poisonous Skitterer
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16017; -- Patchwork Golem
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16018; -- Bile Retcher
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16034; -- Plague Beast
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16145; -- Death Knight Captain
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16146; -- Death Knight
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16156; -- Dark Touched Warrior
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16164; -- Shade of Naxxramas
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16165; -- Necro Knight
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16167; -- Bony Construct
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16193; -- Skeletal Smith
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16244; -- Infectious Ghoul
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16348; -- Ghostclaw Lynx
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=16349; -- Ghostclaw Ravager
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=17798; -- Warlord Kalithresh
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=17917; -- Coilfang Water Elemental
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=19412; -- D'ore
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=1997; -- Strigid Hunter
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=21695; -- Tidal Surger
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=21696; -- Steam Surger
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=21901; -- Netherskate
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=22331; -- Dragonmaw Elite
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=23264; -- Overmine Flayer
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=23501; -- Netherwing Ray
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=23542; -- Amani'shi Axe Thrower
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=23580; -- Amani'shi Warbringer
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=23581; -- Amani'shi Medicine Man
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=23582; -- Amani'shi Tribesman
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=23636; -- Mudsprocket Bruiser
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=23878; -- Amani Bear Spirit
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=23880; -- Amani Eagle Spirit
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=23889; -- Amani'shi Savage
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24001; -- Ashli
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24240; -- Alyson Antille
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24241; -- Thurg
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24242; -- Slither
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24243; -- Lord Raadan
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24244; -- Gazakroth
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24245; -- Fenstalker
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24247; -- Koragg
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24374; -- Amani'shi Berserker
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24549; -- Amani'shi Tempest
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=24858; -- Soaring Eagle
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=25145; -- Budd's Bodyguard
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=25396; -- Naxxanar Skeletal Mage
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=25451; -- Nerub'ar Sky Darkener
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=26532; -- Chrono-Lord Epoch
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=26796; -- Commander Stoutbeard
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=27175; -- Transitus Shield Warmage
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=2734; -- Ridge Stalker Patriarch
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=27949; -- Alliance Commander
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=28546; -- Ionar
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=28547; -- Storming Vortex
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=28586; -- General Bjarngrim
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=28826; -- Stormfury Revenant
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=28961; -- Titanium Siegebreaker
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=28965; -- Titanium Thunderer
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=29305; -- Moorabi <High Prophet of Mam'toth>
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=29307; -- Drakkari Colossus
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=29553; -- Garm Watcher
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=29859; -- The Leaper
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=29928; -- Gymer Lock Dummy
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=29932; -- Eck the Ferocious
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=30258; -- Amanitar
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=31016; -- Overthane Balargarde <Master of Jotunheim>
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=32176; -- Plague Drenched Ghoul
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=32178; -- Rampaging Ghoul
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=32273; -- Infinite Corruptor
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=33543; -- Sunreaver Guardian
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=34928; -- Argent Confessor Paletress
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=36166; -- 7th Legion Marine
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=37023; -- Plague Scientist
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=37038; -- Vengeful Fleshreaper
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=37127; -- Ymirjar Frostbinder
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=37190; -- Alliance Commander
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=37575; -- Freed Alliance Slave
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=37879; -- King Varian Wrynn <King of Stormwind>
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=37902; -- Alliance Mason
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=37920; -- Kor'kron Reaver
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=37935; -- Apothecary Candith Tomas <General Goods>
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=37936; -- Morgan Dayblaze <Blacksmith>
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=38125; -- Ymirjar Deathbringer
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=3862; -- Slavering Worg
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=39371; -- King Varian Wrynn <King of Stormwind>
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=3975; -- Herod <The Scarlet Champion>
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=4107; -- Highperch Wyvern
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=4109; -- Highperch Consort
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=4362; -- Mirefin Coastrunner
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=5056; -- Deviate Dreadfang
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=521; -- Lupos
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=5466; -- Coast Strider
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=68; -- Stormwind City Guard
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=7273; -- Gahz'rilla
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=7430; -- Frostsaber Cub
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=7431; -- Frostsaber
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=7432; -- Frostsaber Stalker
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=7433; -- Frostsaber Huntress
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=7447; -- Fledgling Chillwind
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=7448; -- Chillwind Chimaera
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=8155; -- Kargath Grunt
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=976; -- Kurzen War Tiger
+UPDATE `creature_template` SET `speed_run`=1.428571 WHERE `entry`=977; -- Kurzen War Panther
+UPDATE `creature_template` SET `speed_run`=1.571429 WHERE `entry`=28208; -- Hailscorn
+UPDATE `creature_template` SET `speed_run`=1.5873 WHERE `entry`=27969; -- Dark Rune Giant
+UPDATE `creature_template` SET `speed_run`=1.5873 WHERE `entry`=28920; -- Stormforged Giant
+UPDATE `creature_template` SET `speed_run`=1.5873 WHERE `entry`=29375; -- Stormforged Iron Giant
+UPDATE `creature_template` SET `speed_run`=1.5873 WHERE `entry`=29503; -- Fjorn
+UPDATE `creature_template` SET `speed_run`=1.5873 WHERE `entry`=29914; -- Dead Iron Giant
+UPDATE `creature_template` SET `speed_run`=1.5873 WHERE `entry`=29974; -- Niffelem Forefather
+UPDATE `creature_template` SET `speed_run`=1.5873 WHERE `entry`=30500; -- Argent Skytalon
+UPDATE `creature_template` SET `speed_run`=1.5873 WHERE `entry`=37230; -- Spire Frostwyrm
+UPDATE `creature_template` SET `speed_run`=1.6 WHERE `entry`=26725; -- Wind Tamer Oril
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=10478; -- Splintered Skeleton
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=10485; -- Risen Aberration
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11658; -- Molten Giant
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11659; -- Molten Destroyer
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11661; -- Flamewaker
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11662; -- Flamewaker Priest
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11663; -- Flamewaker Healer
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11664; -- Flamewaker Elite
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11666; -- Firewalker
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11667; -- Flameguard
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11668; -- Firelord
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11669; -- Flame Imp
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11671; -- Core Hound
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=11673; -- Ancient Core Hound
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=12018; -- Majordomo Executus
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=12057; -- Garr
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=12076; -- Lava Elemental
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=12098; -- Sulfuron Harbinger
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=12099; -- Firesworn
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=12100; -- Lava Reaver
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=12118; -- Lucifron
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=12119; -- Flamewaker Protector
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=12259; -- Gehennas
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=12264; -- Shazzrah
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=15461; -- Shrieker Scarab
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=15961; -- Lunar Festival Sentinel
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=16163; -- Death Knight Cavalier
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=21315; -- Ruul the Darkener
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=23559; -- Budd Nedreck
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=25965; -- Shaman Beam Bunny 001
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=26232; -- Saragosa
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=26299; -- Corpse of Saragosa
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=26363; -- Tallhorn Stag
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=27975; -- Maiden of Grief
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=30017; -- Stinkbeard
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=30023; -- Korrak the Bloodrager <Champion of the Winterax>
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=30099; -- Njormeld
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=30121; -- Frost Giant Stormherald
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=30123; -- Snorri
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=30432; -- Grimmr Hound
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=30593; -- Forgotten Depths Slayer
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=33785; -- The Black Knight
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=34014; -- Sanctum Sentry
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=35877; -- The Lich King
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=37184; -- Zafod Boombox
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=38248; -- Impaling Spear
+UPDATE `creature_template` SET `speed_run`=1.714286 WHERE `entry`=7897; -- Alarm-a-bomb 2600
+UPDATE `creature_template` SET `speed_run`=1.828571 WHERE `entry`=6225; -- Mechano-Tank
+UPDATE `creature_template` SET `speed_run`=1.828571 WHERE `entry`=6226; -- Mechano-Flamewalker
+UPDATE `creature_template` SET `speed_run`=1.828571 WHERE `entry`=6227; -- Mechano-Frostwalker
+UPDATE `creature_template` SET `speed_run`=1.857143 WHERE `entry`=28923; -- Loken
+UPDATE `creature_template` SET `speed_run`=1.857143 WHERE `entry`=30396; -- Loken
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=24059; -- Amani'shi Beast Tamer
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=24138; -- Tamed Amani Crocolisk
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=24530; -- Amani Elder Lynx
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=25390; -- En'kilah Hatchling
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=26838; -- Dreadtalon
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=28587; -- Volkhan
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=29664; -- Ragemane
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=29804; -- Baron Sliver
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=30022; -- Vladof the Butcher
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=30989; -- Halof the Deathbringer
+UPDATE `creature_template` SET `speed_run`=2 WHERE `entry`=34127; -- Boneguard Commander
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=11460; -- Alzzin's Minion
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=23576; -- Nalorakk <Bear Avatar>
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=23577; -- Halazzi <Lynx Avatar>
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=25966; -- Shaman Beam Bunny 002
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=27123; -- Icefist Forager
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=27766; -- Image of Kel'Thuzad
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=30443; -- The Lich King
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=30575; -- Frostbrood Destroyer
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=31083; -- The Lich King
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=5831; -- Swiftmane
+UPDATE `creature_template` SET `speed_run`=2.142857 WHERE `entry`=6907; -- Eric "The Swift"
+UPDATE `creature_template` SET `speed_run`=2.285714 WHERE `entry`=11665; -- Lava Annihilator
+UPDATE `creature_template` SET `speed_run`=2.285714 WHERE `entry`=11672; -- Core Rager
+UPDATE `creature_template` SET `speed_run`=2.285714 WHERE `entry`=11982; -- Magmadar
+UPDATE `creature_template` SET `speed_run`=2.285714 WHERE `entry`=11988; -- Golemagg the Incinerator
+UPDATE `creature_template` SET `speed_run`=2.285714 WHERE `entry`=12056; -- Baron Geddon
+UPDATE `creature_template` SET `speed_run`=2.285714 WHERE `entry`=12101; -- Lava Surger
+UPDATE `creature_template` SET `speed_run`=2.285714 WHERE `entry`=22332; -- Brood of Neltharaku
+UPDATE `creature_template` SET `speed_run`=2.285714 WHERE `entry`=23267; -- Arvoar the Rapacious
+UPDATE `creature_template` SET `speed_run`=2.428571 WHERE `entry`=24765; -- Spirit of Issliruk
+UPDATE `creature_template` SET `speed_run`=2.571429 WHERE `entry`=14354; -- Pusillin
+UPDATE `creature_template` SET `speed_run`=2.571429 WHERE `entry`=14864; -- Khaz Modan Ram
+UPDATE `creature_template` SET `speed_run`=2.571429 WHERE `entry`=23340; -- Murg "Oldie" Muckjaw
+UPDATE `creature_template` SET `speed_run`=2.571429 WHERE `entry`=27656; -- Ley-Guardian Eregos
+UPDATE `creature_template` SET `speed_run`=2.857143 WHERE `entry`=13876; -- Mekgineer Trigger
+UPDATE `creature_template` SET `speed_run`=2.857143 WHERE `entry`=22112; -- Karynaku <Mate of Neltharaku>
+UPDATE `creature_template` SET `speed_run`=2.857143 WHERE `entry`=23342; -- Trope the Filth-Belcher
+UPDATE `creature_template` SET `speed_run`=2.857143 WHERE `entry`=26231; -- Saragosa <Consort of Malygos>
+UPDATE `creature_template` SET `speed_run`=2.857143 WHERE `entry`=26237; -- Keristrasza
+UPDATE `creature_template` SET `speed_run`=3.142857 WHERE `entry`=23344; -- Corlok the Vet
+UPDATE `creature_template` SET `speed_run`=3.142857 WHERE `entry`=30399; -- Thorim
+UPDATE `creature_template` SET `speed_run`=3.142857 WHERE `entry`=30462; -- Thorim
+UPDATE `creature_template` SET `speed_run`=3.428571 WHERE `entry`=23345; -- Wing Commander Ichman
+UPDATE `creature_template` SET `speed_run`=3.714286 WHERE `entry`=23346; -- Wing Commander Mulverick
+UPDATE `creature_template` SET `speed_run`=4.285714 WHERE `entry`=22317; -- Netherwing Drake Escape Dummy
+UPDATE `creature_template` SET `speed_run`=4.285714 WHERE `entry`=23348; -- Captain Skyshatter
+UPDATE `creature_template` SET `speed_run`=4.285714 WHERE `entry`=32608; -- Hodir's Spear Event Bunny
+UPDATE `creature_template` SET `speed_run`=4.285714 WHERE `entry`=37755; -- Sindragosa <Queen of the Frostbrood>
+UPDATE `creature_template` SET `speed_run`=4.285714 WHERE `entry`=4945; -- Goblin Drag Car
+UPDATE `creature_template` SET `speed_run`=4.285714 WHERE `entry`=4946; -- Gnome Drag Car
+UPDATE `creature_template` SET `speed_run`=4.714286 WHERE `entry`=26310; -- Malygos
+UPDATE `creature_template` SET `speed_run`=5.714286 WHERE `entry`=25849; -- Fezzix Geartwist
+UPDATE `creature_template` SET `speed_walk`=0.09999999 WHERE `entry`=19871; -- World Trigger (Not Immune NPC)
+UPDATE `creature_template` SET `speed_walk`=0.4 WHERE `entry`=16217; -- Lieutenant Tomathren <Farstriders>
+UPDATE `creature_template` SET `speed_walk`=0.4 WHERE `entry`=32325; -- Gold Priest
+UPDATE `creature_template` SET `speed_walk`=0.4 WHERE `entry`=32343; -- Green Priest
+UPDATE `creature_template` SET `speed_walk`=0.4 WHERE `entry`=37782; -- Flesh-eating Insect
+UPDATE `creature_template` SET `speed_walk`=0.4 WHERE `entry`=37826; -- Light's Vengeance
+UPDATE `creature_template` SET `speed_walk`=0.4 WHERE `entry`=38228; -- Plagued Insect
+UPDATE `creature_template` SET `speed_walk`=0.5 WHERE `entry`=12121; -- Drakan
+UPDATE `creature_template` SET `speed_walk`=0.5 WHERE `entry`=24082; -- Proto-Drake Handler
+UPDATE `creature_template` SET `speed_walk`=0.5 WHERE `entry`=37544; -- Spire Gargoyle
+UPDATE `creature_template` SET `speed_walk`=0.5 WHERE `entry`=40502; -- Zalazane
+UPDATE `creature_template` SET `speed_walk`=0.6 WHERE `entry`=16197; -- Arcanist Vandril
+UPDATE `creature_template` SET `speed_walk`=0.6 WHERE `entry`=33564; -- Ironforge Valiant
+UPDATE `creature_template` SET `speed_walk`=0.6 WHERE `entry`=33739; -- Exodar Champion
+UPDATE `creature_template` SET `speed_walk`=0.6 WHERE `entry`=37148; -- Skybreaker Summoner
+UPDATE `creature_template` SET `speed_walk`=0.64 WHERE `entry`=28167; -- Stratholme Citizen
+UPDATE `creature_template` SET `speed_walk`=0.64 WHERE `entry`=28169; -- Stratholme Resident
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=10916; -- Winterfall Runner
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=11328; -- Eastvale Peasant
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=11516; -- Timbermaw Warder
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=11552; -- Timbermaw Mystic
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=11553; -- Timbermaw Woodbender
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=11555; -- Gorn One Eye
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=11556; -- Salfa
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=11557; -- Meilosh
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=11558; -- Kernda
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=12223; -- Cavern Lurker
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=12224; -- Cavern Shambler
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=12242; -- Spirit of Maraudos <The Fourth Kahn>
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=12243; -- Spirit of Veng <The Fifth Kahn>
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=13396; -- Irondeep Miner
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=15407; -- Chieftain Zul'Marosh
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=1812; -- Rotting Behemoth
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=18282; -- Lord Klaq
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=2006; -- Gnarlpine Ursa
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=2007; -- Gnarlpine Gardener
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=2009; -- Gnarlpine Shaman
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=2010; -- Gnarlpine Defender
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=2011; -- Gnarlpine Augur
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=2012; -- Gnarlpine Pathfinder
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=2025; -- Timberling Bark Ripper
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=2027; -- Timberling Trampler
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=2029; -- Timberling Mire Beast
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=21722; -- Enslaved Netherwing Drake
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=22332; -- Brood of Neltharaku
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=23550; -- Valgarde Yeoman
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=24245; -- Fenstalker
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=24374; -- Amani'shi Berserker
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=26458; -- Drakkari Plaguebringer
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=29019; -- Dockhand
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=2968; -- Galak Outrunner
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=29829; -- Drakkari Earthshaker
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=30023; -- Korrak the Bloodrager <Champion of the Winterax>
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=30685; -- Argent Mason
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=30900; -- Argent Mason
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=31755; -- Stabled Hunter Pet
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=32163; -- Grimkor's Hound
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=37902; -- Alliance Mason
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=5397; -- Uthek the Wise
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=5481; -- Thistleshrub Dew Collector
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=5485; -- Thistleshrub Rootshaper
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=5490; -- Gnarled Thistleshrub
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=5761; -- Deviate Shambler
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=5775; -- Verdan the Everliving
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=7404; -- Galak Flame Guard
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=7438; -- Winterfall Ursa
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=7439; -- Winterfall Shaman
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=7440; -- Winterfall Den Watcher
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=7441; -- Winterfall Totemic
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=7442; -- Winterfall Pathfinder
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=8580; -- Atal'alarion <Guardian of the Idol>
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=9028; -- Grizzle
+UPDATE `creature_template` SET `speed_walk`=0.666668 WHERE `entry`=9524; -- Kolkar Invader
+UPDATE `creature_template` SET `speed_walk`=0.7 WHERE `entry`=636; -- Defias Blackguard
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=10405; -- Plague Ghoul
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=10406; -- Ghoul Ravener
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=10407; -- Fleshflayer Ghoul
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=10495; -- Diseased Ghoul
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=10808; -- Timmy the Cruel
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=11030; -- Mindless Undead
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=11658; -- Molten Giant
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=11659; -- Molten Destroyer
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=11988; -- Golemagg the Incinerator
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=12203; -- Landslide
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=12206; -- Primordial Behemoth
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=15655; -- Rotlimb Cannibal
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=15658; -- Rotlimb Marauder
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=16309; -- Gangled Cannibal
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=16322; -- Gangled Flesheater
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=1793; -- Rotting Ghoul
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=1796; -- Freezing Ghoul
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=1971; -- Ivar the Foul
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=25031; -- Pit Overlord
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=27272; -- Risen Villager
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=30984; -- Scourge Drudge
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=39639; -- Restless Zombie
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=40274; -- Restless Zombie
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=511; -- Insane Ghoul
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=5469; -- Dune Smasher
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=5470; -- Raging Dune Smasher
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=7347; -- Boneflayer Ghoul
+UPDATE `creature_template` SET `speed_walk`=0.777776 WHERE `entry`=7348; -- Thorn Eater Ghoul
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=10435; -- Magistrate Barthilas
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=10507; -- The Ravenian
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=12222; -- Creeping Sludge
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=16927; -- Stonescythe Whelp
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=18682; -- Bog Lurker
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=24247; -- Koragg
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=25740; -- Ahune <The Frost Lord>
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=25865; -- Frozen Core
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=26239; -- Ghost of Ahune
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=28253; -- Mistwhisper Lightning Cloud
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=29048; -- Ulduar Monitor
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=29722; -- Rabid Cannibal
+UPDATE `creature_template` SET `speed_walk`=0.8 WHERE `entry`=7269; -- Scarab
+UPDATE `creature_template` SET `speed_walk`=0.833334 WHERE `entry`=11473; -- Eldreth Spectre
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=10394; -- Black Guard Sentry
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=10486; -- Risen Warrior
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=10487; -- Risen Protector
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=10489; -- Risen Guard
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=1110; -- Skeletal Raider
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=1520; -- Rattlecage Soldier
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=1523; -- Cracked Skull Soldier
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=16305; -- Dreadbone Sentinel
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=1658; -- Captain Dargol
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=17878; -- Scourge Siege Engineer
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=24243; -- Lord Raadan
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=25033; -- Eredar Sorcerer
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=27969; -- Dark Rune Giant
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=28587; -- Volkhan
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=28920; -- Stormforged Giant
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=31079; -- Azure Saboteur
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=37596; -- Lady Sylvanas Windrunner <Banshee Queen>
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=4328; -- Firemane Scalebane
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=4329; -- Firemane Scout
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=4331; -- Firemane Ash Tail
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=4334; -- Firemane Flamecaller
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=48; -- Skeletal Warrior
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=522; -- Mor'Ladim
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=7344; -- Splinterbone Warrior
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=7345; -- Splinterbone Captain
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=7346; -- Splinterbone Centurion
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=771; -- Commander Felstrom
+UPDATE `creature_template` SET `speed_walk`=0.888888 WHERE `entry`=8527; -- Scourge Guard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10000; -- Arugal
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10058; -- Greth <Stable Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10082; -- Zerillis
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10096; -- High Justice Grimstone
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10120; -- Vault Warder
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10300; -- Ranshalla
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10301; -- Jaron Stoneshaper <Explorers' League>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10303; -- Storm Shadowhoof
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10305; -- Umi Rumplesnicker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10307; -- Witch Doctor Mau'ari
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10356; -- Bayne
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10381; -- Ravaged Cadaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10382; -- Mangled Cadaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10390; -- Skeletal Guardian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10391; -- Skeletal Berserker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10393; -- Skul
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10398; -- Thuzadin Shadowcaster
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10400; -- Thuzadin Necromancer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10408; -- Rockwing Gargoyle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10409; -- Rockwing Screecher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10411; -- Eye of Naxxramas
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10412; -- Crypt Crawler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10413; -- Crypt Beast
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10414; -- Patchwork Horror
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10415; -- Ash'ari Crystal
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10416; -- Bile Spewer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10417; -- Venom Belcher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10418; -- Crimson Guardsman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10419; -- Crimson Conjuror
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10420; -- Crimson Initiate
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10421; -- Crimson Defender
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10422; -- Crimson Sorcerer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10423; -- Crimson Priest
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10424; -- Crimson Gallant
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10425; -- Crimson Battle Mage
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10426; -- Crimson Inquisitor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10427; -- Pao'ka Swiftmountain
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10431; -- Gregor Greystone <The Argent Dawn>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10432; -- Vectus
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10433; -- Marduk Blackpool
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10436; -- Baroness Anastari
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10437; -- Nerub'enkan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10438; -- Maleki the Pallid
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10439; -- Ramstein the Gorger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10440; -- Baron Rivendare
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10441; -- Plagued Rat
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10445; -- Selina Dourman <Darkmoon Faire Information>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10461; -- Plagued Insect
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10463; -- Shrieking Banshee
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10464; -- Wailing Banshee
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10468; -- Felnok Steelspring
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10469; -- Scholomance Adept
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10470; -- Scholomance Neophyte
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10471; -- Scholomance Acolyte
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10472; -- Scholomance Occultist
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10475; -- Scholomance Student
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10477; -- Scholomance Necromancer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10478; -- Splintered Skeleton
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10480; -- Unstable Corpse
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10481; -- Reanimated Corpse
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10485; -- Risen Aberration
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10488; -- Risen Construct
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10491; -- Risen Bonewarder
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10502; -- Lady Illucia Barov
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10503; -- Jandice Barov
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10504; -- Lord Alexei Barov
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10505; -- Instructor Malicia
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10508; -- Ras Frostwhisper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1051; -- Dark Iron Dwarf
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1052; -- Dark Iron Saboteur
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10558; -- Hearthsinger Forresten
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10580; -- Fetid Zombie
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10637; -- Malyfous Darkhammer <The Thorium Brotherhood>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1065; -- Riverpaw Shaman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1068; -- Gorn
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1071; -- Longbraid the Grim
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1072; -- Roggo Harlbarrow
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1073; -- Ashlan Stonesmirk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1074; -- Motley Garmason
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1075; -- Rhag Garmason
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10811; -- Archivist Galford
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10812; -- Grand Crusader Dathrohan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10828; -- High General Abbendis
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10897; -- Sindrayl <Hippogryph Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10901; -- Lorekeeper Polkelt
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10917; -- Aurius
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10919; -- Shatterspear Troll
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10978; -- Legacki
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=10997; -- Cannon Master Willey
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11032; -- Malor the Zealous
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1103; -- Eldrin <Tailoring Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11043; -- Crimson Monk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11058; -- Fras Siabi
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11072; -- Kitta Firewind <Enchanting Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11079; -- Wynd Nightchaser
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11082; -- Stratholme Courier
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11103; -- Innkeeper Lyshaerya <Innkeeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11118; -- Innkeeper Vizzie <Innkeeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11119; -- Azzleby <Stable Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11138; -- Maethrya <Hippogryph Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11139; -- Yugrek <Wind Rider Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11140; -- Egan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11142; -- Undead Postman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11182; -- Nixxrak <Heavy Armor Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11183; -- Blixxrak <Light Armor Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11184; -- Wixxrak <Weaponsmith & Gunsmith>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11185; -- Xizzer Fizzbolt <Engineering Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11186; -- Lunnix Sprocketslip <Mining Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11187; -- Himmik <Food & Drink>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11188; -- Evie Whirlbrew <Alchemy Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11189; -- Qia <Trade Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11190; -- Everlook Bruiser
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11191; -- Lilith the Lithe
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11192; -- Kilram
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11193; -- Seril Scourgebane
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11196; -- Shatterspear Drummer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11257; -- Scholomance Handler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11261; -- Doctor Theolen Krastinov <The Butcher>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11438; -- Bibbly F'utzbuckle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11451; -- Wildspawn Satyr
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11452; -- Wildspawn Rogue
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11453; -- Wildspawn Trickster
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11454; -- Wildspawn Betrayer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11455; -- Wildspawn Felsworn
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11456; -- Wildspawn Shadowstalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11457; -- Wildspawn Hellcaller
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11458; -- Petrified Treant
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11460; -- Alzzin's Minion
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11461; -- Warpwood Guardian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11462; -- Warpwood Treant
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11464; -- Warpwood Tangler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11465; -- Warpwood Stomper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11469; -- Eldreth Seether
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11470; -- Eldreth Sorcerer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11472; -- Eldreth Spirit
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11476; -- Skeletal Highborne
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11477; -- Rotting Highborne
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11480; -- Arcane Aberration
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11483; -- Mana Remnant
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11486; -- Prince Tortheldrin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11487; -- Magister Kalendris
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11488; -- Illyanna Ravenoak
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11489; -- Tendris Warpwood
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11490; -- Zevrim Thornhoof
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11491; -- Old Ironbark
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11492; -- Alzzin the Wildshaper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11546; -- Jack Sterling
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11551; -- Necrofiend
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11598; -- Risen Guardian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11622; -- Rattlegore
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11625; -- Cork Gizelton
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11626; -- Rigger Gizelton
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11629; -- Jessica Redpath
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1165; -- Stonesplinter Geomancer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11661; -- Flamewaker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11662; -- Flamewaker Priest
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11663; -- Flamewaker Healer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11664; -- Flamewaker Elite
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11666; -- Firewalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11667; -- Flameguard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11668; -- Firelord
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11669; -- Flame Imp
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11671; -- Core Hound
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11672; -- Core Rager
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1167; -- Stonesplinter Digger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11701; -- Mor'vek <Ravasaur Trainers>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11706; -- Adon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11715; -- Talendria
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11718; -- Sar Browneye
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11751; -- Rilan Howard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11753; -- Gogo
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11754; -- Meggi Peppinrocker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11755; -- Harlo Wigglesworth
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11757; -- Umaron Stragarelm
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11789; -- Deep Borer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1178; -- Mo'grosh Ogre
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11790; -- Putridus Satyr
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11791; -- Putridus Trickster
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11792; -- Putridus Shadowstalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11793; -- Celebrian Dryad
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11794; -- Sister of Celebras
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1179; -- Mo'grosh Enforcer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11804; -- Twilight Keeper Havunth <Twilight's Hammer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11808; -- Grum Redbeard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11811; -- Narain Soothfancy
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11817; -- Krah'ranik
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11819; -- Jory Zaga
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11868; -- Sayoc <Weapon Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11871; -- Grinning Dog
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11896; -- Borelgore
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11897; -- Duskwing
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11899; -- Shardi <Wind Rider Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1192; -- Elder Mountain Boar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1194; -- Mountain Buzzard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=11982; -- Magmadar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12018; -- Majordomo Executus
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12056; -- Baron Geddon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1206; -- Gnasher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1207; -- Brawler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12098; -- Sulfuron Harbinger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12118; -- Lucifron
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12119; -- Flamewaker Protector
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12150; -- Riding Kodo (Purple)
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12198; -- Martin Lindsey <Arathi Basin Battlemaster>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12201; -- Princess Theradras
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12207; -- Thessala Hydra
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12216; -- Poison Sprite
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12217; -- Corruptor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12218; -- Vile Larva
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12219; -- Barbed Lasher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12220; -- Constrictor Vine
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12221; -- Noxious Slime
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12236; -- Lord Vyletongue
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12244; -- Mark of Detonation (NW)
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12246; -- Super-Seller 680
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12258; -- Razorlash
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12259; -- Gehennas
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12264; -- Shazzrah
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12337; -- Crimson Courier
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12384; -- Augustus the Touched
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12430; -- Grunt Kor'ja
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1250; -- Drake Lindgren <General & Trade Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=125; -- Riverpaw Overseer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12740; -- Faustron <Wind Rider Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12865; -- Ambassador Malcin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12866; -- Myriam Moonsinger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=12960; -- Christi Galvanis <General Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13022; -- Whip Lasher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13078; -- Umi Thorson
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13079; -- Keetar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13080; -- Irondeep Guard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13081; -- Irondeep Raider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13099; -- Irondeep Explorer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13118; -- Crimson Bodyguard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13141; -- Deeprot Stomper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13142; -- Deeprot Tangler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13159; -- James Clark
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13196; -- Phase Lasher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13197; -- Fel Lash
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13276; -- Wildspawn Imp
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13280; -- Hydrospawn
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13282; -- Noxxion
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13285; -- Death Lash
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13323; -- Subterranean Diemetradon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13338; -- Core Rat
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13397; -- Irondeep Peon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13476; -- Balai Lok'Wein <Potions, Scrolls & Reagents>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13533; -- Spewed Larva
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13596; -- Rotgrip
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13599; -- Stolid Snapjaw
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13601; -- Tinkerer Gizlock
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13656; -- Willow <Twilight's Hammer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13743; -- Corrupt Force of Nature
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13777; -- Sergeant Durgen Stormpike
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13916; -- Dire Maul Crystal Totem
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=13917; -- Izzy Coppergrab <Banker>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1393; -- Berserk Trogg
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1398; -- Boss Galgosh <Stonesplinter Chieftain>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14028; -- Trigger Jeztor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1407; -- Sranda <Light Armor & Weapons Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1410; -- Firewing Bloodwarder
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14232; -- Dart
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14235; -- The Rot
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14236; -- Lord Angler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14237; -- Oozeworm
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14266; -- Shanda the Spinner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14267; -- Emogg the Crusher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14276; -- Scargil
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14277; -- Lady Zephris
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14279; -- Creepthess
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14280; -- Big Samras
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14303; -- Petrified Guardian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14327; -- Lethtendris
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14347; -- Highlord Demitrian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14349; -- Pimgib
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14354; -- Pusillin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14355; -- Azj'Tordin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14357; -- Lake Thresher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14358; -- Shen'dralar Ancient
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14361; -- Shen'dralar Wisp
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14368; -- Lorekeeper Lydros
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14369; -- Shen'dralar Zealot
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14371; -- Shen'dralar Provisioner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14381; -- Lorekeeper Javon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14382; -- Lorekeeper Mykos
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14383; -- Lorekeeper Kildrath
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14398; -- Eldreth Darter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14400; -- Arcane Feedback
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14430; -- Duskstalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1449; -- Witch Doctor Unbagwa
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14531; -- Artorius the Amiable
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14566; -- Ancient Equine Spirit
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14635; -- Sleepy Dark Iron Worker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14636; -- Chambermaid Pillaclencher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14646; -- Stratholme Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14717; -- Horde Elite
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14718; -- Horde Laborer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14742; -- Zap Farflinger <Unbalanced Engineer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14754; -- Kelm Hargunth <Warsong Supply Officer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14781; -- Captain Shatterskull
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14822; -- Sayge
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14823; -- Silas Darkmoon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14827; -- Burth
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14828; -- Gelvas Grimegate <Darkmoon Faire Ticket Redemption>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14829; -- Yebb Neblegear
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14832; -- Kerri Hicks <The Strongest Woman Alive!>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14833; -- Chronos <He Who Never Forgets!>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14841; -- Rinling
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14844; -- Sylannia <Darkmoon Faire Drink Vendor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14845; -- Stamp Thunderhorn <Darkmoon Faire Food Vendor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14846; -- Lhara <Darkmoon Faire Exotic Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14847; -- Professor Thaddeus Paleo <Darkmoon Faire Cards & Exotic Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14849; -- Darkmoon Faire Carnie
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14860; -- Flik
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14861; -- Blood Steward of Kirtonos
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14864; -- Khaz Modan Ram
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14865; -- Felinni
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14866; -- Flik's Frog
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14867; -- Jubjub
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14868; -- Hornsley
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14869; -- Pygmy Cockatrice
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14871; -- Morja
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14872; -- Trok
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14874; -- Karu
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14894; -- Swarm of bees
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14909; -- Pooka
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14961; -- Mirvyna Jinglepocket <Smokywood Pastures>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=14964; -- Hecht Copperpinch <Smokywood Pastures>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1497; -- Gunther Arcanus
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15006; -- Deze Snowbane <Arathi Basin Battlemaster>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1511; -- Enraged Silverback Gorilla
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15136; -- Hammerfall Elite
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1514; -- Mokk the Savage
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15162; -- Scarlet Inquisitor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1516; -- Konda
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1522; -- Darkeye Bonecaster
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1527; -- Hungering Dead
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1528; -- Shambling Horror
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15301; -- Outrunner Alarion
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1530; -- Rotting Ancestor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1531; -- Lost Soul
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1532; -- Wandering Spirit
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1534; -- Wailing Ancestor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1535; -- Scarlet Warrior
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15397; -- Marniel Amberlight <Innkeeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15398; -- Larianna Riverwind
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15399; -- Lieutenant Dawnrunner <Farstriders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15400; -- Arathel Sunforge <Blacksmithing Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15401; -- Ley-Keeper Velania
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15402; -- Apprentice Mirveda
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15405; -- Ley-Keeper Caidanis
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15409; -- Old Whitebark
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15416; -- Ranger Jaela
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15417; -- Velan Brightoak
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15420; -- Prospector Anvilward
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1543; -- Vile Fin Puddlejumper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1544; -- Vile Fin Minor Oracle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1545; -- Vile Fin Muckdweller
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15461; -- Shrieker Scarab
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15466; -- Minion of Omen
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15520; -- O'Reily
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15549; -- Elder Morndeep
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15562; -- Elder Hammershout
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15565; -- Elder Stormbrow
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15567; -- Elder Ironband
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15568; -- Elder Graveborn
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15570; -- Elder Primestone
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15573; -- Elder Ragetotem
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15578; -- Elder Wildmane
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15581; -- Elder Grimtotem
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15582; -- Elder Windtotem
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15583; -- Elder Thunderhorn
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15584; -- Elder Skyseer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15586; -- Elder Dreamseer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15595; -- Elder Bladeleaf
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15597; -- Elder Moonwarden
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15599; -- Elder Bladesing
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15601; -- Elder Starweave
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15604; -- Elder Morningdew
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15605; -- Elder Riversong
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15607; -- Elder Farwhisper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15624; -- Forest Wisp
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15635; -- Eversong Tender
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15636; -- Eversong Green Keeper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15637; -- Withered Green Keeper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15638; -- Arcane Patroller
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15645; -- Wretched Thug
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15647; -- Mana Stalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15648; -- Manawraith
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15650; -- Crazed Dragonhawk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15652; -- Elder Springpaw
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15654; -- Plaguebone Pillager
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15656; -- Angershade
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15657; -- Darkwraith
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15668; -- Grimscale Murloc
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15669; -- Grimscale Oracle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15670; -- Grimscale Forager
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15719; -- Thunder Bluff Reveler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15871; -- Elder Bronzebeard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15905; -- Darnassus Reveler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15907; -- Undercity Reveler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15908; -- Orgrimmar Reveler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15920; -- Hathvelion Sungaze
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15924; -- Apprentice Loralthalis
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15937; -- Mmmrrrggglll <Grimscale Chieftain>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15938; -- Eversong Ranger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15939; -- Ranger Degolien
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15940; -- Ranger Selron
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15941; -- Apprentice Ralen
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15942; -- Ranger Sareyn
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15945; -- Apprentice Meledor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15946; -- Apprentice Veya
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15949; -- Thaelis the Hungerer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15950; -- Grimscale Seer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15951; -- Magister Duskwither
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15961; -- Lunar Festival Sentinel
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15966; -- Mana Serpent
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15967; -- Ether Fiend
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15968; -- Darnassian Scout
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=15969; -- Groundskeeper Wyllithen
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16031; -- Ysida Harmon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16032; -- Falrin Treeshaper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16045; -- Isalien Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16046; -- Jarien and Sothos Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16047; -- Kormok Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16090; -- Rousch
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16117; -- Plagued Swine
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16144; -- Lord Saltheril
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16147; -- Elisara Sunstriker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16160; -- Magistrix Eredania <Enchanting Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16161; -- Arcanist Sheynathren <Alchemy Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16162; -- Wretched Hooligan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16183; -- Courier Dawnstrider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16187; -- Quartermaster Lymel <General Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16189; -- Skymaster Sunwing <Dragonhawk Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16196; -- Apothecary Thedra
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16198; -- Apothecary Renzithen
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16199; -- Magister Darenis
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16200; -- Deathstalker Rathiel
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16201; -- Geranis Whitemorn
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16202; -- Farstrider Sedina <Farstriders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16203; -- Ranger Vynna <Farstriders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16205; -- Magistrix Aminel
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16210; -- Magistrix Landra Dawnstrider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16213; -- Ranger Lethvalin <Farstriders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16219; -- Ranger Valanna <Farstriders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16220; -- Captain Helios <Farstriders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16224; -- Rathis Tomber <Trade Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16226; -- Guard Didier <Brotherhood of the Light>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16231; -- Dame Auriferous
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16232; -- Caravan Mule
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16245; -- Luzran
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16251; -- Deathstalker Maltendis
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16252; -- High Executor Mavren
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16253; -- Master Chef Mouldier <Cooking Trainer & Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16260; -- Areyn <General Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16261; -- Sathiel <Trade Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16263; -- Paelarin <Bowyer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16264; -- Winaestra <Hawkstrider Breeder>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16268; -- Eralan <Poison Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16274; -- Narina <Bowyer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16280; -- Perascamin <Riding Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16288; -- Advisor Sorrelon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16289; -- Advisor Valwyn
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16293; -- Apprentice Shatharia
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16301; -- Risen Hungerer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16302; -- Risen Stalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16304; -- Arcane Devourer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16307; -- Deathcage Scryer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16308; -- Deathcage Sorcerer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16310; -- Mana Shifter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16311; -- Phantasmal Watcher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16313; -- Nerubis Guard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16314; -- Fallen Ranger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16315; -- Deatholme Acolyte
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16316; -- Stonewing Tracker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16317; -- Deatholme Necromancer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16318; -- Deatholme Darkmage
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16319; -- Nerubis Centurion
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16320; -- Eye of Dar'Khan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16321; -- Wailer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16323; -- Phantasmal Seeker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16324; -- Stonewing Slayer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16325; -- Quel'dorei Ghost
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16326; -- Quel'dorei Wraith
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16330; -- Sentinel Spy
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16333; -- Sentinel Infiltrator
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16334; -- Blackpaw Gnoll
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16337; -- Blackpaw Shaman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16341; -- Shadowpine Witch
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16343; -- Shadowpine Oracle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16345; -- Shadowpine Catlord
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16346; -- Shadowpine Hexxer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16348; -- Ghostclaw Lynx
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16349; -- Ghostclaw Ravager
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16350; -- Spindleweb Spider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16351; -- Spindleweb Lurker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16352; -- Greater Spindleweb
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16354; -- Vampiric Mistbat
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16355; -- Lesser Scourgebat
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16357; -- Anok'suten
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16362; -- Runewarden Deryan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16366; -- Sempstress Ambershine <Tailoring Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16367; -- Botanist Tyniarrel <Herbalism Trainer & Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16397; -- Ardeyn Riverwind
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16402; -- Zombified Grimscale
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16403; -- Withered Grimscale
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16416; -- Bronn Fitzwrench
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16443; -- Zalene Firstlight <Food & Drink>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16444; -- Halis Dawnstrider <General Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16462; -- Ranger Krenn'an <Farstriders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16463; -- Farstrider Solanna <Farstriders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16464; -- Apothecary Venustus <Royal Apothecary Society>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16465; -- Raw Meat Rack Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16466; -- Smoked Meat Rack Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16480; -- Apprentice Vor'el
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1650; -- Terry Palin <Lumberjack>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16519; -- Shadowy Executioner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16528; -- Provisioner Vredigar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16541; -- Ghostlands Guardian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16542; -- Innkeeper Kalarin <Innkeeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16550; -- Image of Technician Dyvuun
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1655; -- Nissa Agamand
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1657; -- Devlin Agamand
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16588; -- Apothecary Antonivich <Master Alchemy Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16601; -- Dying Blood Elf
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16603; -- Farstrider Dusking <Farstriders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16665; -- Paniar <Stable Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16694; -- Karen Wentworth <Arathi Basin Battlemaster>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1675; -- Rot Hide Mongrel
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16769; -- Firewing Warlock
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16818; -- Festival Talespinner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16854; -- Eldinarcus
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16855; -- Tregla
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16860; -- Jilanne
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=16862; -- Silanna
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1696; -- Targorr the Dread
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17000; -- Aggonis
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17002; -- Angela "The Claw" Kestrel
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17004; -- Jir'see <Angela's Pet>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1700; -- Paxton Ganter <Fishing Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17047; -- Wretched Crate Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17056; -- Eversong Partygoer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17088; -- Shadowy Summoner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17095; -- Balandar Brightstar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17097; -- Advisor Sarophas
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17138; -- Warmaul Reaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17180; -- Spirit of Air
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17181; -- Spirit of Water
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17182; -- Spirit of Fire
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17186; -- Deranged Owlbeast
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17187; -- Aberrant Owlbeast
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17188; -- Raving Owlbeast
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17189; -- Crazed Wildkin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=171; -- Murloc Warrior
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17210; -- Sentinel Leader
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17218; -- Huraan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17233; -- Ghost of Uther Lightbringer <Knights of the Silver Hand>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17253; -- Defile Uther's Tomb Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1729; -- Defias Evoker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17311; -- Cowlen
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17312; -- Magwin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1732; -- Defias Squallshaper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17361; -- Totem of Coo
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17362; -- Totem of Tikti
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17363; -- Totem of Yor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17364; -- Totem of Vark
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17405; -- Krun Spinebreaker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17417; -- Mag'har Escort
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17418; -- Laughing Skull Ambusher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1753; -- Maggot Eye
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17556; -- Death Ravager
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17587; -- Draenei Youngling
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17624; -- Laughing Skull Warden
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1763; -- Gilnid <The Smelter>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17655; -- Blacksmith Frances <Blacksmithing Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17656; -- Heron Skygaze <Food & Drink>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17690; -- <TXT>Eastwall Capture Quest Doodad
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17721; -- Coilfang Engineer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17722; -- Coilfang Sorceress
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1772; -- Rot Hide Gladerunner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1773; -- Rot Hide Mystic
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17796; -- Mekgineer Steamrigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17797; -- Hydromancer Thespia
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17798; -- Warlord Kalithresh
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17799; -- Dreghood Slave
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17800; -- Coilfang Myrmidon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17801; -- Coilfang Siren
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17802; -- Coilfang Warrior
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17803; -- Coilfang Oracle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17805; -- Coilfang Slavemaster
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17816; -- Bogstrok
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17817; -- Greater Bogstrok
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17822; -- Landen Stilwell
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17826; -- Swamplord Musel'ek
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17827; -- Claw <Swamplord Musel'ek's Pet>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17849; -- Slain Outrunner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17882; -- The Black Stalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17885; -- Earthbinder Rayge
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17890; -- Weeder Greenthumb
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17893; -- Naturalist Bite
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17915; -- [PH] Invis Paladin Quest Credit <Nothing to See Here>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17917; -- Coilfang Water Elemental
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17938; -- Coilfang Observer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17940; -- Coilfang Technician
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17941; -- Mennu the Betrayer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17942; -- Quagmirran
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17951; -- Steamrigger Mechanic
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17954; -- Naga Distiller
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17957; -- Coilfang Champion
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17958; -- Coilfang Defender
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17959; -- Coilfang Slavehandler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17960; -- Coilfang Soothsayer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17961; -- Coilfang Enchantress
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17962; -- Coilfang Collaborator
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17963; -- Wastewalker Slave
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17964; -- Wastewalker Worker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17984; -- Power Source Invisible Bunny
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=17992; -- Coilfang Invisible Vacuum Dummy
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18035; -- Scout Jyoba
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18064; -- Warmaul Shaman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1806; -- Vile Slime
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18117; -- Ango'rosh Ogre
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18118; -- Ango'rosh Shaman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18134; -- Fen Strider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18135; -- Marsh Walker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18159; -- Boss Grog'ak
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18206; -- Wastewalker Captive
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18283; -- Blacksting
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18286; -- Mragesh
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18393; -- Warmaul Ogre Credit Marker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18395; -- Warmaul Pyre Credit Marker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18426; -- Terellia <Trade Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18452; -- Skithian Dreadhawk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1853; -- Darkmaster Gandling
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18541; -- Urdak
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18548; -- Firewing Courier
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1854; -- High Priest Thel'danis
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18586; -- Coosh'coosh
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18670; -- Ironjaw
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18678; -- Fulgorge
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18681; -- Coilfang Emissary
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18684; -- Bro'Gaz the Clanless
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18716; -- Shadowy Initiate
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18717; -- Shadowy Laborer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18718; -- Shadowy Hunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18719; -- Shadowy Advisor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18720; -- Shadowmaster Grieve
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18748; -- Ruak Stronghorn <Master Herbalism Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18753; -- Felannia <Master Enchanting Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18759; -- Zangarmarsh PvP Beam (Blue)
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18841; -- Laughing Skull Clan Ruins Credit Marker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1892; -- Moonrage Watcher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=18947; -- Solanin <Bag Vendor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1894; -- Pyrewood Sentry
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1910; -- Muad
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19273; -- Forward Commander To'arch
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19280; -- Red Hawkstrider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19281; -- Swift Pink Hawkstrider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19315; -- Supply Officer Isabel <General Goods & Repairs>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19333; -- Grokom Deatheye <Weaponsmith>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19339; -- Korthul <Bowyer & Gunsmith>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19342; -- Krek Cragcrush <Blacksmithing Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1934; -- Tirisfal Farmer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1935; -- Tirisfal Farmhand
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1936; -- Farmer Solliden
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1937; -- Apothecary Renferrel <Royal Apothecary Society>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1938; -- Dalar Dawnweaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19412; -- D'ore
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19416; -- Ancient Draenei Spirit
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1950; -- Rane Yorick <Deathstalker>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1951; -- Quinn Yorick <Deathstalker>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19526; -- Dunaman <Weapons Vendor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19528; -- Nanomah <Provisions Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1952; -- High Executor Hadrec
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19530; -- Darmend <Blacksmithing Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19532; -- Dearny <Leatherworking Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19581; -- Maddix <Flight Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1960; -- Pilot Hammerfoot
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19629; -- Denath
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19631; -- Harram
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19648; -- Maranem
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19649; -- Dorni <General Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19698; -- Greatfather Aldrimus
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1975; -- Eastvale Lumberjack
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19762; -- Coilskar Defender
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19765; -- Coilskar Myrmidon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19767; -- Coilskar Sorceress
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19768; -- Coilskar Siren
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19769; -- Coilskar Screamer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19784; -- Coilskar Cobra
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19788; -- Coilskar Muckwatcher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19789; -- Coilskar Waterkeeper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19795; -- Eclipsion Blood Knight
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19826; -- Dark Conclave Shadowmancer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19827; -- Dark Conclave Ravenguard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1983; -- Nightlash
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19879; -- Horvon the Armorer <Armorsmith>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=19910; -- Gargok <Warsong Gulch Battlemaster>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=1997; -- Strigid Hunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2000; -- Webwood Silkspinner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20076; -- Naga Distiller (Coilskar Point)
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20217; -- Purple Hawkstrider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20220; -- Blue Hawkstrider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20222; -- Black Hawkstrider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20223; -- Swift Purple Hawkstrider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20224; -- Swift Green Hawkstrider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20324; -- Parched Hydra
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2033; -- Elder Nightsaber
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2044; -- Forlorn Spirit
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20684; -- Lady Shav'rar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20767; -- Mana Bomb Explosion Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20797; -- Deviate Coiler Hatchling
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20812; -- Corki
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2084; -- Natheril Raincaller <General Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2090; -- Ma'ruk Wyrmscale <Dragonmaw Warlord>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20926; -- Coilfang Door Controller
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2102; -- Dragonmaw Grunt
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21039; -- Mana Bomb Kill Credit Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2103; -- Dragonmaw Scout
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21059; -- Enraged Water Spirit
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21060; -- Enraged Air Spirit
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21095; -- Credit Marker: Water
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21096; -- Credit Marker: Air
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21126; -- Coilfang Scale-Healer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21127; -- Coilfang Tempest
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21128; -- Coilfang Ray <Observer's Pet>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2121; -- Shadow Priest Allister
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21284; -- Auchenai Initiate
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21338; -- Coilfang Leper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21386; -- Dark Conclave Hawkeye
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21402; -- Anchorite Ceyla
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2140; -- Edwin Harly <General Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21416; -- Lakaan <Corruptor of Water>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21420; -- Corrupt Water Totem
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21453; -- Ashtongue Shaman <Servant of Illidan>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21454; -- Ashtongue Warrior <Servant of Illidan>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21455; -- Ashtongue Worker <Servant of Illidan>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21477; -- Rocknail Flayer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21478; -- Rocknail Ripper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21515; -- Trachela
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=215; -- Defias Night Runner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21638; -- Vengeful Harbinger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21656; -- Illidari Satyr <Servant of Illidan>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21663; -- Oronu the Elder
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21694; -- Bog Overlord
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21695; -- Tidal Surger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21696; -- Steam Surger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21717; -- Dragonmaw Wrangler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21718; -- Dragonmaw Subjugator
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21719; -- Dragonmaw Drake-Rider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21720; -- Dragonmaw Shaman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21721; -- Enslaved Netherwing Whelp
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21746; -- Caretaker Aluuro <Innkeeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21802; -- Elekk Demolisher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21803; -- Ashtongue Handler <Servant of Illidan>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21808; -- Illidari Overseer <Servant of Illidan>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2181; -- Stormscale Myrmidon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21822; -- Vindicator Aluumen
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2182; -- Stormscale Sorceress
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2183; -- Stormscale Warrior
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21860; -- Exarch Onaala
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21898; -- Mana Bomb Lightning Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21899; -- Mana Bomb Lightning Target
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2189; -- Vile Sprite
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=218; -- Grave Robber
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2190; -- Wild Grell
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21979; -- Val'zareq the Conqueror <The Crimson Sigil>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=21986; -- Altar of Sha'tar Vindicator
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22054; -- Behemothon, King of the Colossi
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22062; -- Dr. Whitherlimb
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22079; -- Air Force Guard Post (Aldor - Gryphon)
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22080; -- Air Force Trip Wire - Rooftop (Aldor)
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22081; -- Shadowmoon Darkweaver <Servant of Illidan>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22082; -- Shadowmoon Slayer <Servant of Illidan>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22112; -- Karynaku <Mate of Neltharaku>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22113; -- Mordenai
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2212; -- Deth'ryll Satyr
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22134; -- Shadowmoon Eye of Kilrogg
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2214; -- Deathstalker Lesh
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22214; -- Harbinger Saronen
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22252; -- Dragonmaw Peon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2226; -- Karos Razok <Bat Handler>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22288; -- Terokkar Quest Target
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2228; -- Lieutenant Farren Orinelle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22314; -- Captive Child
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22331; -- Dragonmaw Elite
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2242; -- Syndicate Spy
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2263; -- Marshal Redpath
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2264; -- Hillsbrad Tailor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2265; -- Hillsbrad Apprentice Blacksmith
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2266; -- Hillsbrad Farmer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2268; -- Hillsbrad Footman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2269; -- Hillsbrad Miner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2270; -- Hillsbrad Sentry
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2271; -- Dalaran Shield Guard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2272; -- Dalaran Theurgist
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2276; -- Magistrate Henry Maleb
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2277; -- Loremaster Dibbs
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=22835; -- Cenarion Dreamwarden
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23020; -- Shadow Serpent
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2303; -- Lyranne Feathersong <Food & Drink>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2305; -- Foreman Bonds
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23094; -- Minion of Sar'this
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2316; -- Gol'dir
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23188; -- Dragonmaw Transporter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2319; -- Syndicate Wizard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23326; -- Nethermine Ravager
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23340; -- Murg "Oldie" Muckjaw
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23342; -- Trope the Filth-Belcher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23344; -- Corlok the Vet
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23346; -- Wing Commander Mulverick
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23348; -- Captain Skyshatter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2335; -- Magistrate Burnside
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23452; -- Commander Arcus
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23454; -- Dragonmaw Raid Credit Marker (Aldor)
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2348; -- Elder Moss Creeper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2352; -- Innkeeper Anderson <Innkeeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23542; -- Amani'shi Axe Thrower
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23559; -- Budd Nedreck
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23560; -- Provisioner Ameenah <Reagents>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23569; -- Renn McGill <SI:7 Salvage Diver>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23570; -- Gizzix Grimegurgle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23571; -- Razbo Rustgear <Weapon & Armor Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23572; -- Drazzit Dripvalve
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23573; -- Krixil Slogswitch <Food & Drink>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23579; -- Brogg <Stonemaul Survivor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2357; -- Merideth Carlson <Horse Breeder>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23580; -- Amani'shi Warbringer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23581; -- Amani'shi Medicine Man
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23582; -- Amani'shi Tribesman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23600; -- Apprentice Morlann <Tabetha's Apprentice>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23601; -- Apprentice Garion <Tabetha's Apprentice>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2360; -- Hillsbrad Farmhand
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23612; -- Dyslix Silvergrub <Flight Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2361; -- Tamara Armstrong
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2362; -- Hemmit Armstrong
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2363; -- Apprentice Honeywell
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2364; -- Neema <Waitress>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2365; -- Bront Coldcleave <Butcher>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2366; -- Barkeep Kelly <Bartender>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2367; -- Donald Rabonne <Fishing Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2368; -- Daggerspine Shorestalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2369; -- Daggerspine Shorehunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23705; -- Catlord Corpse
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2370; -- Daggerspine Screamer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23716; -- Hexxer Corpse
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23718; -- Mack
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2371; -- Daggerspine Siren
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23724; -- Samir
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2372; -- Mudsnout Gnoll
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23748; -- Kurzel <Food & Drink>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2374; -- Torn Fin Muckdweller
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2375; -- Torn Fin Coastrunner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23761; -- Prigmon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2377; -- Torn Fin Tidehunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2378; -- Kundric Zanden <Town Historian>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2379; -- Caretaker Smithers
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=237; -- Farmer Furlbrow
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23807; -- Zul'Aman - Bear God Invisman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2380; -- Nandar Branson <Alchemy Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23813; -- Zul'Aman - Dragonhawk God Invisman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23814; -- Zul'Aman - Eagle God Invisman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2381; -- Micha Yance <Trade Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2382; -- Darren Malvew <Stablehand>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2383; -- Lindea Rabonne <Fishing Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23858; -- Donna Brascoe
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23872; -- Coren Direbrew
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2387; -- Hillsbrad Councilman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23889; -- Amani'shi Savage
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23897; -- Zungam
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=238; -- Verna Furlbrow
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23942; -- Andello Porter <SI:7>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=23995; -- Axle <Innkeeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=24059; -- Amani'shi Beast Tamer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2411; -- Ricter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2412; -- Alina
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2414; -- Kegan Darkmar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2415; -- Warden Belamoore
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=24208; -- "Little" Logok <Innkeeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2430; -- Chef Jessen
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2431; -- Jailor Borhuin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=24325; -- Eagle Troll Spawn Target
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2432; -- Darla Harris <Gryphon Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=24358; -- Harrison Jones
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2436; -- Farmer Kent
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2438; -- Bartolo Ginsetti
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=24396; -- Forest Frog
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=24410; -- Vazruden the Herald Image
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2448; -- Clerk Horrace Whitesteed
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2450; -- Miner Hackett
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2451; -- Farmer Kalaba
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=24530; -- Amani Elder Lynx
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2466; -- Mountaineer Grugelm
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2476; -- Large Loch Crocolisk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2477; -- Gradok <Horde Runner>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2478; -- Haren Swifthoof <Horde Runner>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=247; -- Billy Maclure
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=24851; -- Kiz Coilspanner <Flight Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2503; -- Hillsbrad Foreman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=25060; -- Darkspine Myrmidon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=25073; -- Darkspine Siren
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=25084; -- Greengill Slave
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=250; -- Pa Maclure
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=25145; -- Budd's Bodyguard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=25154; -- Sunwell - Quest Bunny - Shrine
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=25173; -- Zul'Aman Door Trigger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2529; -- Son of Arugal
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2543; -- Archmage Ansirem Runeweaver <Kirin Tor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2545; -- "Pretty Boy" Duncan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2546; -- Fleet Master Firallon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=25492; -- Central En'kilah Cauldron
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2557; -- Witherbark Shadow Hunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=255; -- Gerard Tiller
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=25697; -- Luma Skymother <The Earthen Ring>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2572; -- Drywhisker Kobold
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2577; -- Dark Iron Shadowcaster
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=258; -- Joshua Maclure <Vintner>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2596; -- Daggerspine Sorceress
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2603; -- Kovork
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2610; -- Shakes O'Breen <Blackwater Raiders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=26113; -- Master Flame Eater
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2636; -- Blackwater Deckhand
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=26477; -- Dead Mage Hunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2672; -- Cowardly Crosby <Tailoring Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2687; -- Gnaz Blunderflame <Engineering Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2696; -- Foggy MacKreel
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2704; -- Hanashi <Weapon Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2705; -- Brewmeister Bilger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2711; -- Phin Odelic
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2727; -- Crag Coyote
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2729; -- Elder Crag Coyote
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2732; -- Ridge Huntress
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2734; -- Ridge Stalker Patriarch
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2742; -- Shadowforge Chanter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2743; -- Shadowforge Warrior
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=27499; -- Caged Prisoner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=27537; -- Fordragon Lumberjack
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2764; -- Sleeby
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2765; -- Znort
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2766; -- Lolo the Lookout <Blackwater Raiders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2767; -- First Mate Nilzlix <Blackwater Raiders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2768; -- Professor Phizzlethorpe <Blackwater Raiders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2769; -- Captain Steelgut <Blackwater Raiders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2774; -- Doctor Draxlegauge <Blackwater Raiders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2778; -- Deckhand Moishe <Blackwater Raiders>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=278; -- Sara Timberlain
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2804; -- Kurden Bloodclaw <Warsong Gulch Battlemaster>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2829; -- Starving Buzzard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2831; -- Giant Buzzard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=28506; -- Mindless Laborer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2861; -- Gorrik <Wind Rider Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2908; -- Grawl <General Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2909; -- Hammertoe Grez
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2920; -- Lucien Tosselwrench
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2921; -- Lotwil Veriatus
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2922; -- Servo
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=294; -- Marshal Haggard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2961; -- Mountain Cougar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2969; -- Wiry Swoop
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=2986; -- Dorn Plainstalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=29917; -- Field Corpse (Type B)
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=29; -- Kanrethad <Master of Death>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=30387; -- Seething Revenant
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3053; -- Synge <Gun Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=30696; -- Corpulent Horror
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3096; -- Captured Servant of Azora <Specialist Tailoring Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3103; -- Makrura Clacker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3104; -- Makrura Shellhide
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3106; -- Pygmy Surf Crawler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3107; -- Surf Crawler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3113; -- Razormane Dustrunner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3121; -- Durotar Tiger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=313; -- Theocritus <Mage of Tower Azora>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3140; -- Lar Prowltusk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=31773; -- Plague Cauldron Target
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3206; -- Voodoo Troll
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3207; -- Hexed Troll
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=32181; -- Living Plague
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=32429; -- Seething Hate
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=32442; -- Plague Cauldron Target 02
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=32572; -- Dragonblight Mage Hunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3263; -- Bristleback Geomancer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3271; -- Razormane Mystic
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=327; -- Goldtooth
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=330; -- Princess
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3337; -- Kargal Battlescar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3360; -- Koru <Mace & Staves Vendor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3361; -- Shoma <Weapon Vendor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3380; -- Burning Blade Acolyte
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3385; -- Theramore Marine
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3386; -- Theramore Preserver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3388; -- Mahren Skyseer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3392; -- Prospector Khazgorm <Explorers' League>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3409; -- Zendo'jian <Weapon Vendor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3414; -- General Twinbraid
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3421; -- Feegly the Exiled
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3470; -- Rathorian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3476; -- Isha Awak
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3519; -- Sentinel Arynia Cloudsbreak
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3521; -- Ak'Zeloth
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3529; -- Moonrage Armorer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3531; -- Moonrage Tailor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3540; -- Hal McAllister <Fish Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3541; -- Sarah Raycroft <General Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3542; -- Jaysin Lanyda <Poisons & Reagents>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3543; -- Robert Aebischer <Superior Armorsmith>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3550; -- Martine Tramblay <Fishing Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3552; -- Alexandre Lefevre <Leather Armor Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3553; -- Sebastian Meloche <Armorer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3554; -- Andrea Boynton <Clothier>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3555; -- Johan Focht <Mining Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3557; -- Guillaume Sorouy <Blacksmithing Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3581; -- Sewer Beast
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3606; -- Alanna Raveneye <Enchanting Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3634; -- Deviate Stalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3636; -- Deviate Ravager
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3637; -- Deviate Guardian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3640; -- Evolving Ectoplasm
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3650; -- Asterion
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3652; -- Trigore the Lasher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3653; -- Kresh
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3654; -- Mutanus the Devourer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3661; -- Balthule Shadowstrike
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3669; -- Lord Cobrahn <Fanglord>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3670; -- Lord Pythas <Fanglord>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3671; -- Lady Anacondra <Fanglord>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3673; -- Lord Serpentis <Fanglord>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3674; -- Skum
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3678; -- Disciple of Naralex
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3679; -- Naralex
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3682; -- Vrang Wildgore <Weaponsmith & Armorcrafter>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3737; -- Saltspittle Puddlejumper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3739; -- Saltspittle Warrior
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3740; -- Saltspittle Muckdweller
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3742; -- Saltspittle Oracle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3779; -- Syurana <Trade Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3840; -- Druid of the Fang
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3849; -- Deathstalker Adamant
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=384; -- Katie Hunter <Horse Breeder>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3850; -- Sorcerer Ashcrombe
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3851; -- Shadowfang Whitescalp
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3853; -- Shadowfang Moonwalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3854; -- Shadowfang Wolfguard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3855; -- Shadowfang Darksoul
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3857; -- Shadowfang Glutton
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3859; -- Shadowfang Ragetooth
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3861; -- Bleak Worg
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3862; -- Slavering Worg
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3863; -- Lupine Horror
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3864; -- Fel Steed
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3865; -- Shadow Charger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3866; -- Vile Bat
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3868; -- Blood Seeker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3873; -- Tormented Officer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3875; -- Haunted Servitor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3877; -- Wailing Guardsman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3886; -- Razorclaw the Butcher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3887; -- Baron Silverlaine
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3891; -- Teronis' Corpse
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=390; -- Porcine Entourage
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3914; -- Rethilgore <The Cell Keeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3927; -- Wolf Master Nandos
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3947; -- Goblin Shipbuilder
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3974; -- Houndmaster Loksey
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3975; -- Herod <The Scarlet Champion>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3976; -- Scarlet Commander Mograine
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3977; -- High Inquisitor Whitemane
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3980; -- Raleigh the Devout
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3981; -- Vorrel Sengutz
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3983; -- Interrogator Vishas
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=3986; -- Sarilus Foulborne
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4043; -- Galthuk <Two-Handed Weapons Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4063; -- Feeboz
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4113; -- Gravelsnout Digger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4274; -- Fenrus the Devourer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4275; -- Archmage Arugal
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4278; -- Commander Springvale
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4279; -- Odo the Blindwatcher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4286; -- Scarlet Soldier
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4287; -- Scarlet Gallant
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4288; -- Scarlet Beastmaster
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4289; -- Scarlet Evoker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4290; -- Scarlet Guardsman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4291; -- Scarlet Diviner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4292; -- Scarlet Protector
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4293; -- Scarlet Scryer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4294; -- Scarlet Sorcerer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4295; -- Scarlet Myrmidon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4296; -- Scarlet Adept
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4297; -- Scarlet Conjuror
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4298; -- Scarlet Defender
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4299; -- Scarlet Chaplain
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4300; -- Scarlet Wizard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4301; -- Scarlet Centurion
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4302; -- Scarlet Champion
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4303; -- Scarlet Abbot
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4304; -- Scarlet Tracking Hound
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4306; -- Scarlet Torturer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4419; -- Race Master Kronkrider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4429; -- Goblin Pit Crewman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4430; -- Gnome Pit Crewman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4444; -- Deathstalker Vincent
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4452; -- Kravel Koalbeard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4453; -- Wizzle Brassbolts
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4454; -- Fizzle Brassbolts
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4495; -- Gnome Pit Boss
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4496; -- Goblin Pit Boss
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4500; -- Overlord Mok'Morokk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4501; -- Draz'Zilb
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4502; -- Tharg
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4503; -- Mudcrush Durtfeet
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4540; -- Scarlet Monk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4542; -- High Inquisitor Fairbanks
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4543; -- Bloodmage Thalnos
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4627; -- Arugal's Voidwalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4630; -- Pozzik
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4706; -- Razzeric
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4709; -- Zamek
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=471; -- Mother Fang
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4732; -- Randal Hunter <Riding Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=473; -- Morgan the Collector
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=476; -- Kobold Geomancer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4779; -- Brown Ram
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4791; -- Nazeer Bloodpike
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=481; -- Defias Footpad
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4847; -- Shadowforge Relic Hunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4848; -- Shadowforge Darkcaster
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4849; -- Shadowforge Archaeologist
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4850; -- Stonevault Cave Lurker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4852; -- Stonevault Oracle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4853; -- Stonevault Geomancer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4854; -- Grimlok <Stonevault Chieftain>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4855; -- Stonevault Brawler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4857; -- Stone Keeper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4860; -- Stone Steward
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4861; -- Shrike Bat
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4872; -- Obsidian Golem
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4879; -- Ogg'marr <Butcher>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4883; -- Krak <Armorer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4884; -- Zulrg <Weaponsmith>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4926; -- Krog
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=4969; -- Old Town Thug
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=502; -- Benny Blaanco
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5048; -- Deviate Adder
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5053; -- Deviate Crocolisk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5055; -- Deviate Lasher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5056; -- Deviate Dreadfang
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5058; -- Wolfguard Worg
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=506; -- Sergeant Brashclaw
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=507; -- Fenros
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5087; -- Do'gol
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5088; -- Falgran Hastil
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5089; -- Balos Jacken
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=515; -- Murloc Raider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5198; -- Arctic Riding Wolf
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=519; -- Slark
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=521; -- Lupos
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5229; -- Gordunni Ogre
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5237; -- Gordunni Ogre Mage
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5355; -- Firewing Defender
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5356; -- Snarler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5389; -- Prospector Gunstan <Explorers' League>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5394; -- Neeka Bloodscar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5431; -- Surf Glider
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5456; -- Centipaar Stinger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5458; -- Centipaar Worker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5460; -- Centipaar Sandreaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5615; -- Wastewander Rogue
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5616; -- Wastewander Thief
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5617; -- Wastewander Shadow Mage
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5618; -- Wastewander Bandit
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5623; -- Wastewander Assassin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5649; -- Sandfury Blood Drinker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5650; -- Sandfury Witch Doctor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5676; -- Summoned Voidwalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5683; -- Comar Villard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=574; -- Naraxis
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5755; -- Deviate Viper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5756; -- Deviate Venomwing
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5762; -- Deviate Moccasin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5763; -- Nightmare Ectoplasm
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5767; -- Nalpak <Disciple of Naralex>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5768; -- Ebru <Disciple of Naralex>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5783; -- Kalldan Felmoon <Specialist Leatherworking Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5784; -- Waldor <Leatherworking Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5829; -- Snort the Heckler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5831; -- Swiftmane
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5851; -- Captain Gerogg Hammertoe <Bael'dun Captain of the Guard>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5886; -- Gwyn Farrow <Mushroom Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5901; -- Islen Waterseer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5907; -- Kranal Fiss
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5914; -- Deviate Nightmare
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=5916; -- Sentinel Amarassan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6004; -- Shadowsworn Cultist
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6005; -- Shadowsworn Thug
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6007; -- Shadowsworn Enforcer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6008; -- Shadowsworn Warlock
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6009; -- Shadowsworn Dreadweaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6015; -- Torta
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=60; -- Ruklar the Trapper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6172; -- Henze Faulk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6177; -- Narm Faulk
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6206; -- Caverndeep Burrower
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6207; -- Caverndeep Ambusher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6208; -- Caverndeep Invader
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6210; -- Caverndeep Pillager
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6211; -- Caverndeep Reaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6212; -- Dark Iron Agent
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6213; -- Irradiated Invader
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6218; -- Irradiated Slime
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6219; -- Corrosive Lurker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6220; -- Irradiated Horror
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6222; -- Leprous Technician
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6223; -- Leprous Defender
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6224; -- Leprous Machinesmith
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6225; -- Mechano-Tank
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6226; -- Mechano-Flamewalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6227; -- Mechano-Frostwalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6228; -- Dark Iron Ambassador
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6229; -- Crowd Pummeler 9-60
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6230; -- Peacekeeper Security Suit
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6232; -- Arcane Nullifier X-21
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6233; -- Mechanized Sentry
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6234; -- Mechanized Guardian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6235; -- Electrocutioner 6000
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6329; -- Irradiated Pillager
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6389; -- Deathguard Podrig
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6392; -- Holdout Medic
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=639; -- Edwin VanCleef <Defias Kingpin>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6426; -- Anguished Dead
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6427; -- Haunting Phantasm
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=642; -- Sneed's Shredder <Lumbermaster>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=644; -- Rhahk'Zor <The Foreman>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=645; -- Cookie <The Ship's Cook>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=646; -- Mr. Smite <The Ship's First Mate>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=647; -- Captain Greenskin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6487; -- Arcanist Doan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6494; -- Tazan
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6496; -- Brivelthwerp <Ice Cream Vendor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6523; -- Dark Iron Rifleman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6546; -- Tabetha
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6547; -- Suffering Victim
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6548; -- Magus Tirth
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6567; -- Ghok'kah <Tailoring Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6575; -- Scarlet Trainee
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=657; -- Defias Pirate
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6669; -- The Threshwackonator 4100 <The First Mate>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6730; -- Jinky Twizzlefixxit <Engineering Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6739; -- Innkeeper Bates <Innkeeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6775; -- Antur Fallow
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6786; -- Ukor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6868; -- Jarkal Mossmeld
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6906; -- Baelog
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6907; -- Eric "The Swift"
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6908; -- Olaf
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6910; -- Revelosh
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=6912; -- Remains of a Paladin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7011; -- Earthen Rocksmasher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7012; -- Earthen Sculptor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7022; -- Venomlash Scorpid
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7030; -- Shadowforge Geologist
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7050; -- Defias Drone
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7051; -- Malformed Defias Drone
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7052; -- Defias Tower Patroller
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7053; -- Klaven Mortwake
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7056; -- Defias Tower Sentry
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7068; -- Condemned Acolyte
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7071; -- Cursed Paladin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7076; -- Earthen Guardian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7077; -- Earthen Hallshaper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7078; -- Cleft Scorpid
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7079; -- Viscous Fallout
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7126; -- Jaedenar Hunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7135; -- Infernal Bodyguard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7137; -- Immolatus
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7170; -- Thragomm <Horde Runner>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7175; -- Stonevault Ambusher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7206; -- Ancient Stone Keeper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7231; -- Kelgruk Bloodaxe <Weaponsmith Trainer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7246; -- Sandfury Shadowhunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7247; -- Sandfury Soul Eater
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7267; -- Chief Ukorz Sandscalp
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7268; -- Sandfury Guardian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7271; -- Witch Doctor Zum'rah
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7272; -- Theka the Martyr
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7274; -- Sandfury Executioner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7275; -- Shadowpriest Sezz'ziz
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7290; -- Shadowforge Sharpshooter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7291; -- Galgann Firehammer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7309; -- Earthen Custodian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7318; -- Rageclaw
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7320; -- Stonevault Mauler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7321; -- Stonevault Flameweaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7327; -- Withered Warrior
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7328; -- Withered Reaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7329; -- Withered Quilguard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7332; -- Withered Spearhide
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7333; -- Withered Battle Boar
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7334; -- Battle Boar Horror
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7335; -- Death's Head Geomancer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7337; -- Death's Head Necromancer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7341; -- Skeletal Frostweaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7342; -- Skeletal Summoner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7343; -- Splinterbone Skeleton
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7349; -- Tomb Fiend
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7351; -- Tomb Reaver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7354; -- Ragglesnout
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7355; -- Tuten'kash
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7357; -- Mordresh Fire Eye
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7358; -- Amnennar the Coldbringer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7361; -- Grubbis
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7396; -- Earthen Stonebreaker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7397; -- Earthen Stonecarver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7405; -- Deadly Cleft Scorpid
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7430; -- Frostsaber Cub
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7431; -- Frostsaber
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7432; -- Frostsaber Stalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7433; -- Frostsaber Huntress
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7443; -- Shardtooth Mauler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7444; -- Shardtooth Bear
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7450; -- Ragged Owlbeast
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7451; -- Raging Owlbeast
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7455; -- Winterspring Owl
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7457; -- Rogue Ice Thistle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7458; -- Ice Thistle Yeti
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7603; -- Leprous Assistant
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7604; -- Sergeant Bly
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7605; -- Raven
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7606; -- Oro Eyegouge
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7607; -- Weegli Blastfuse
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7608; -- Murta Grimgut
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7670; -- Servant of Allistarj
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7671; -- Servant of Sevine
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7787; -- Sandfury Slave
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7788; -- Sandfury Drudge
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7795; -- Hydromancer Velratha
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7796; -- Nekrum Gutchewer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7797; -- Ruuzlu
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7800; -- Mekgineer Thermaplugg
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7802; -- Galvan the Ancient <Artisan Blacksmith of the Mithril Order>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7808; -- Marauding Owlbeast
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7847; -- Caliph Scorpidsting
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7850; -- Kernobee
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7855; -- Southsea Pirate
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7856; -- Southsea Freebooter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7857; -- Southsea Dock Worker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7858; -- Southsea Swashbuckler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7883; -- Andre Firebeard
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7897; -- Alarm-a-bomb 2600
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=7975; -- Mulgore Protector
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=798; -- Solomon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=799; -- Kevin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=79; -- Narg the Taskmaster
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=800; -- Kyle
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8017; -- Sen'jin Guardian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=801; -- Eric
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=802; -- Jay
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8118; -- Lillian Singh <Holiday Fireworks Vendor>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8127; -- Antu'sul <Overseer of Sul>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8150; -- Janet Hommers <Food & Drink>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8155; -- Kargath Grunt
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=815; -- Bookie Herod
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8211; -- Old Cliff Jumper
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8218; -- Witherheart the Stalker
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8219; -- Zul'arek Hatefowler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8277; -- Rekk'tilac
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8281; -- Scald
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=831; -- Sea Crawler
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8320; -- Sprok <Away Team>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8338; -- Dark Iron Marksman
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8442; -- Shadowsilk Poacher <The Undermarket>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8480; -- Kalaran the Deceiver
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8516; -- Belnistrasz
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8539; -- Eyeless Watcher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8546; -- Dark Adept <Cult of the Damned>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8560; -- Mossflayer Scout
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8561; -- Mossflayer Shadowhunter
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8562; -- Mossflayer Cannibal
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8567; -- Glutton
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8611; -- Idol Room Spawner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8617; -- Zalashji
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8662; -- Idol Oven Fire Target
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8679; -- Knaz Blunderflame <Engineering Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8696; -- Henry Stern
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8767; -- Sah'rhee
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=880; -- Erlan Drudgemoor
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=881; -- Surena Caledon
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8876; -- Sandfury Acolyte
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8877; -- Sandfury Zealot
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8886; -- Deviate Python
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8923; -- Panzor the Invincible
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8925; -- Dredge Worm
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8926; -- Deep Stinger
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8927; -- Dark Screecher
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=8928; -- Burrowing Thundersnout
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=896; -- Veldan Lightfoot <Leather Armor Merchant>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9029; -- Eviscerator
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9031; -- Anub'shiah
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9077; -- Warlord Goretooth <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9078; -- Shadowmage Vivian Lagrave <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9079; -- Hierophant Theodora Mulvadania <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=907; -- Keras Wolfheart <Arathi Basin Battlemaster>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9080; -- Lexlort <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9081; -- Galamav the Marksman <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9238; -- Quentin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9298; -- Donova Snowden
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9316; -- Wenikee Boltbucket
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9356; -- Innkeeper Shul'kar <Innkeeper>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9376; -- Blazerunner
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9448; -- Scarlet Praetorian
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9450; -- Scarlet Curate
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9537; -- Hurley Blackbreath
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9541; -- Blackbreath Crony
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9543; -- Ribbly Screwspigot
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9552; -- Zanara <Bowyer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9553; -- Nadia Vernon <Bowyer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=955; -- Sergeant De Vries <Morale Officer>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=958; -- Dawn Brightstar <Arcane Goods>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=959; -- Morley Eberlein <Clothier>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9619; -- Torwa Pathfinder
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9622; -- U'cha
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=963; -- Deputy Rainer
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9676; -- Tink Sprocketwhistle <Engineering Supplies>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9857; -- Auctioneer Grizzlin
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9978; -- Wesley <Stable Master>
+UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=9979; -- Sarah Goode <Stable Master>
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=10358; -- Fellicent's Shade
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=10387; -- Vengeful Phantom
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=10498; -- Spectral Tutor
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=10499; -- Spectral Researcher
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=10500; -- Spectral Teacher
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=10516; -- The Unforgiven
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=10678; -- Plagued Hatchling
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=11459; -- Ironbark Protector
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=11471; -- Eldreth Apparition
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=11475; -- Eldreth Phantasm
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=12225; -- Celebras the Cursed
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=12238; -- Zaetar's Spirit
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=13021; -- Warpwood Crusher
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=13716; -- Celebras the Redeemed
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=14272; -- Snarlflare
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=1552; -- Scale Belly
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=16327; -- Ravening Apparition
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=16328; -- Vengeful Apparition
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=23193; -- Lordaeron Citizen (Jesse)
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=4308; -- Unfettered Spirit
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=4323; -- Searing Hatchling
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=4324; -- Searing Whelp
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=4863; -- Jadespine Basilisk
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=5979; -- Wretched Lost One
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=6215; -- Chomper
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=7149; -- Withered Protector
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=7352; -- Frozen Soul
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=7353; -- Freezing Spirit
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=8095; -- Sul'lithuz Sandcrawler
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=8120; -- Sul'lithuz Abomination
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=8130; -- Sul'lithuz Hatchling
+UPDATE `creature_template` SET `speed_walk`=1.111112 WHERE `entry`=8138; -- Sul'lithuz Broodling
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=100; -- Gruff Swiftbite
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=11673; -- Ancient Core Hound
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=14271; -- Ribchaser
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=16335; -- Blackpaw Scavenger
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=1674; -- Rot Hide Gnoll
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=23264; -- Overmine Flayer
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=2373; -- Mudsnout Shaman
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=27523; -- Grizzlesnout
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=27766; -- Image of Kel'Thuzad
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=28208; -- Hailscorn
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=28586; -- General Bjarngrim
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=28824; -- Brann Flying Machine
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=29240; -- Stormforged Lieutenant
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=30167; -- Gimorak
+UPDATE `creature_template` SET `speed_walk`=1.2 WHERE `entry`=472; -- Fedfennel
+UPDATE `creature_template` SET `speed_walk`=1.32 WHERE `entry`=9082; -- Thal'trak Proudtusk <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_walk`=1.32 WHERE `entry`=9083; -- Razal'blade <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_walk`=1.32 WHERE `entry`=9084; -- Thunderheart <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_walk`=1.32 WHERE `entry`=9085; -- Initiate Amakkar <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_walk`=1.32 WHERE `entry`=9086; -- Grunt Gargal <Kargath Expeditionary Force>
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=14431; -- Fury Shelda
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=2015; -- Bloodfeather Harpy
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=2017; -- Bloodfeather Rogue
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=2018; -- Bloodfeather Sorceress
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=3276; -- Witchwing Harpy
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=3277; -- Witchwing Roguefeather
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=3278; -- Witchwing Slayer
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=3279; -- Witchwing Ambusher
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=3280; -- Witchwing Windcaller
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=3452; -- Serena Bloodfeather
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=4024; -- Bloodfury Slayer
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=4100; -- Screeching Harpy
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=4101; -- Screeching Roguefeather
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=4104; -- Screeching Windcaller
+UPDATE `creature_template` SET `speed_walk`=1.388888 WHERE `entry`=5830; -- Sister Rathtalon
+UPDATE `creature_template` SET `speed_walk`=1.4 WHERE `entry`=21901; -- Netherskate
+UPDATE `creature_template` SET `speed_walk`=1.4 WHERE `entry`=23501; -- Netherwing Ray
+UPDATE `creature_template` SET `speed_walk`=1.4 WHERE `entry`=30142; -- The Iron Watcher
+UPDATE `creature_template` SET `speed_walk`=1.4 WHERE `entry`=5466; -- Coast Strider
+UPDATE `creature_template` SET `speed_walk`=1.4 WHERE `entry`=7447; -- Fledgling Chillwind
+UPDATE `creature_template` SET `speed_walk`=1.4 WHERE `entry`=7448; -- Chillwind Chimaera
+UPDATE `creature_template` SET `speed_walk`=1.5 WHERE `entry`=2748; -- Archaedas <Ancient Stone Watcher>
+UPDATE `creature_template` SET `speed_walk`=1.5 WHERE `entry`=7172; -- Lore Keeper of Norgannon
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=11665; -- Lava Annihilator
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=11783; -- Theradrim Shardling
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=11784; -- Theradrim Guardian
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=12057; -- Garr
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=12076; -- Lava Elemental
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=12099; -- Firesworn
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=12100; -- Lava Reaver
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=12101; -- Lava Surger
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=17087; -- Spirit of the Vale
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=17179; -- Restless Spirit of Earth
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=2735; -- Lesser Rock Elemental
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=28585; -- Slag
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=4499; -- Rok'Alim the Pounder
+UPDATE `creature_template` SET `speed_walk`=1.555556 WHERE `entry`=8278; -- Smoldar
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=11440; -- Gordok Enforcer
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=12046; -- Gor'marok the Ravager
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=14308; -- Ferra
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=17991; -- Rokmar the Crackler
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=23093; -- Sar'this
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=25451; -- Nerub'ar Sky Darkener
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=2720; -- Dustbelcher Ogre Mage
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=27975; -- Maiden of Grief
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=28923; -- Loken
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=29553; -- Garm Watcher
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=29932; -- Eck the Ferocious
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=30258; -- Amanitar
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=30396; -- Loken
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=33224; -- Lake Frog
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=37215; -- Orgrim's Hammer
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=37540; -- The Skybreaker
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=37543; -- [DND] Shaker
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=37574; -- [DND] Shaker - Small
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=40217; -- Echo Isle Animal
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=5472; -- Dunemaul Enforcer
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=5473; -- Dunemaul Ogre Mage
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=5475; -- Dunemaul Warlock
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=5978; -- Dreadmaul Warlock
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=7273; -- Gahz'rilla
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=7789; -- Sandfury Cretin
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=9030; -- Ok'thor the Breaker
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=9604; -- Gorgon'och
+UPDATE `creature_template` SET `speed_walk`=1.6 WHERE `entry`=9684; -- Lar'korwi
+UPDATE `creature_template` SET `speed_walk`=1.666668 WHERE `entry`=7228; -- Ironaya
+UPDATE `creature_template` SET `speed_walk`=12 WHERE `entry`=22317; -- Netherwing Drake Escape Dummy
+UPDATE `creature_template` SET `speed_walk`=12 WHERE `entry`=25964; -- Shaman Beam Bunny 000
+UPDATE `creature_template` SET `speed_walk`=12 WHERE `entry`=25965; -- Shaman Beam Bunny 001
+UPDATE `creature_template` SET `speed_walk`=12 WHERE `entry`=25966; -- Shaman Beam Bunny 002
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=23576; -- Nalorakk <Bear Avatar>
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=26231; -- Saragosa <Consort of Malygos>
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=26232; -- Saragosa
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=26299; -- Corpse of Saragosa
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=30017; -- Stinkbeard
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=30593; -- Forgotten Depths Slayer
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=34928; -- Argent Confessor Paletress
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=35877; -- The Lich King
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=37038; -- Vengeful Fleshreaper
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=37230; -- Spire Frostwyrm
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=7784; -- Homing Robot OOX-17/TN
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=7849; -- Mobile Alert System
+UPDATE `creature_template` SET `speed_walk`=2 WHERE `entry`=9623; -- A-Me 01
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=21315; -- Ruul the Darkener
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=23267; -- Arvoar the Rapacious
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=26838; -- Dreadtalon
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=28599; -- Plagueroach
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=29664; -- Ragemane
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=30443; -- The Lich King
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=30501; -- Val'kyr Arbiter
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=30575; -- Frostbrood Destroyer
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=30945; -- Vardmadra
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=30989; -- Halof the Deathbringer
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=31029; -- Possessed Vardmadra
+UPDATE `creature_template` SET `speed_walk`=2.4 WHERE `entry`=31083; -- The Lich King
+UPDATE `creature_template` SET `speed_walk`=2.8 WHERE `entry`=11832; -- Keeper Remulos
+UPDATE `creature_template` SET `speed_walk`=2.8 WHERE `entry`=26933; -- Wyrmrest Guardian
+UPDATE `creature_template` SET `speed_walk`=2.8 WHERE `entry`=27608; -- Azure Dragon
+UPDATE `creature_template` SET `speed_walk`=2.8 WHERE `entry`=29375; -- Stormforged Iron Giant
+UPDATE `creature_template` SET `speed_walk`=2.8 WHERE `entry`=29503; -- Fjorn
+UPDATE `creature_template` SET `speed_walk`=2.8 WHERE `entry`=29914; -- Dead Iron Giant
+UPDATE `creature_template` SET `speed_walk`=2.8 WHERE `entry`=30099; -- Njormeld
+UPDATE `creature_template` SET `speed_walk`=2.8 WHERE `entry`=30121; -- Frost Giant Stormherald
+UPDATE `creature_template` SET `speed_walk`=3.2 WHERE `entry`=14399; -- Arcane Torrent
+UPDATE `creature_template` SET `speed_walk`=3.2 WHERE `entry`=23969; -- Firemane Drake
+UPDATE `creature_template` SET `speed_walk`=3.2 WHERE `entry`=28546; -- Ionar
+UPDATE `creature_template` SET `speed_walk`=3.2 WHERE `entry`=28547; -- Storming Vortex
+UPDATE `creature_template` SET `speed_walk`=3.2 WHERE `entry`=28826; -- Stormfury Revenant
+UPDATE `creature_template` SET `speed_walk`=3.6 WHERE `entry`=26237; -- Keristrasza
+UPDATE `creature_template` SET `speed_walk`=3.6 WHERE `entry`=26925; -- Wyrmrest Temple Drake
+UPDATE `creature_template` SET `speed_walk`=4 WHERE `entry`=23577; -- Halazzi <Lynx Avatar>
+UPDATE `creature_template` SET `speed_walk`=4 WHERE `entry`=32176; -- Plague Drenched Ghoul
+UPDATE `creature_template` SET `speed_walk`=4 WHERE `entry`=32178; -- Rampaging Ghoul
+UPDATE `creature_template` SET `speed_walk`=4 WHERE `entry`=4945; -- Goblin Drag Car
+UPDATE `creature_template` SET `speed_walk`=4 WHERE `entry`=4946; -- Gnome Drag Car
+UPDATE `creature_template` SET `speed_walk`=4.8 WHERE `entry`=30399; -- Thorim
+UPDATE `creature_template` SET `speed_walk`=4.8 WHERE `entry`=30462; -- Thorim
+UPDATE `creature_template` SET `speed_walk`=4.8 WHERE `entry`=37755; -- Sindragosa <Queen of the Frostbrood>
+UPDATE `creature_template` SET `speed_walk`=8 WHERE `entry`=13876; -- Mekgineer Trigger
+UPDATE `creature_template` SET `speed_walk`=8 WHERE `entry`=26310; -- Malygos
+
+-- attack times
+UPDATE `creature_template` SET `BaseAttackTime`=1000 WHERE `entry`=26630; -- Trollgore
+UPDATE `creature_template` SET `BaseAttackTime`=1000 WHERE `entry`=28419; -- Frenzied Geist
+UPDATE `creature_template` SET `BaseAttackTime`=1000 WHERE `entry`=29722; -- Rabid Cannibal
+UPDATE `creature_template` SET `BaseAttackTime`=1000 WHERE `entry`=29735; -- Savage Worg
+UPDATE `creature_template` SET `BaseAttackTime`=1000 WHERE `entry`=36612; -- Lord Marrowgar
+UPDATE `creature_template` SET `BaseAttackTime`=1000 WHERE `entry`=37011; -- The Damned
+UPDATE `creature_template` SET `BaseAttackTime`=1000 WHERE `entry`=40274; -- Restless Zombie
+UPDATE `creature_template` SET `BaseAttackTime`=1000 WHERE `entry`=5713; -- Gasher
+UPDATE `creature_template` SET `BaseAttackTime`=1140 WHERE `entry`=37546; -- Frenzied Abomination
+UPDATE `creature_template` SET `BaseAttackTime`=1200 WHERE `entry`=15369; -- Ayamiss the Hunter
+UPDATE `creature_template` SET `BaseAttackTime`=1200 WHERE `entry`=23877; -- Amani Lynx Spirit
+UPDATE `creature_template` SET `BaseAttackTime`=1200 WHERE `entry`=23878; -- Amani Bear Spirit
+UPDATE `creature_template` SET `BaseAttackTime`=1200 WHERE `entry`=23879; -- Amani Dragonhawk Spirit
+UPDATE `creature_template` SET `BaseAttackTime`=1200 WHERE `entry`=23880; -- Amani Eagle Spirit
+UPDATE `creature_template` SET `BaseAttackTime`=1250 WHERE `entry`=18950; -- Orgrimmar Grunt
+UPDATE `creature_template` SET `BaseAttackTime`=1300 WHERE `entry`=1061; -- Gan'zulah <Bloodscalp Chief>
+UPDATE `creature_template` SET `BaseAttackTime`=1300 WHERE `entry`=15344; -- Swarmguard Needler
+UPDATE `creature_template` SET `BaseAttackTime`=1300 WHERE `entry`=9029; -- Eviscerator
+UPDATE `creature_template` SET `BaseAttackTime`=1333 WHERE `entry`=6225; -- Mechano-Tank
+UPDATE `creature_template` SET `BaseAttackTime`=1333 WHERE `entry`=6226; -- Mechano-Flamewalker
+UPDATE `creature_template` SET `BaseAttackTime`=1333 WHERE `entry`=6227; -- Mechano-Frostwalker
+UPDATE `creature_template` SET `BaseAttackTime`=1400 WHERE `entry`=18257; -- Gutripper
+UPDATE `creature_template` SET `BaseAttackTime`=1400 WHERE `entry`=9265; -- Smolderthorn Shadow Hunter
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=11486; -- Prince Tortheldrin
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=11946; -- Drek'Thar <Frostwolf General>
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=222; -- Nillen Andemar <Macecrafter>
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=24552; -- Sliver <Garaxxas' Pet>
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=26212; -- Captain Gryan Stoutmantle <Commander of the Westfall Brigade>
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=27467; -- Amberpine Hunter
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=28042; -- Captain Brandon
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=28044; -- Captain Rupert
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=28125; -- Dr. Rogers
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=29050; -- Har'koa
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=33996; -- William Saldean <Grain & Feed Vendor>
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=34158; -- Young Venomhide Ravasaur
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=34496; -- Eydis Darkbane
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=34497; -- Fjola Lightbane
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=34564; -- Anub'arak
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=36626; -- Festergut
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=36627; -- Rotface
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=37688; -- Crusader Grimtong <Warrior Armor>
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=37689; -- Commander Kunz
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=37696; -- Crusader Halford <Paladin Armor>
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=37967; -- Ebon Blade Commander
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=38493; -- Argent Crusader
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=38505; -- Knight of the Ebon Blade
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=40142; -- Halion <The Twilight Destroyer>
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=40405; -- Kieupid <Pet Trainer>
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=8257; -- Oozeling
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=8666; -- Lil Timmy <Boy with kittens>
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=9683; -- Lar'korwi Mate
+UPDATE `creature_template` SET `BaseAttackTime`=1500 WHERE `entry`=9684; -- Lar'korwi
+UPDATE `creature_template` SET `BaseAttackTime`=1538 WHERE `entry`=18827; -- Gan'arg Sapper
+UPDATE `creature_template` SET `BaseAttackTime`=1538 WHERE `entry`=26943; -- Battered Drakkari Berserker
+UPDATE `creature_template` SET `BaseAttackTime`=1538 WHERE `entry`=27340; -- Bloodpaw Marauder
+UPDATE `creature_template` SET `BaseAttackTime`=1538 WHERE `entry`=29438; -- Rageclaw Primalist
+UPDATE `creature_template` SET `BaseAttackTime`=1600 WHERE `entry`=11469; -- Eldreth Seether
+UPDATE `creature_template` SET `BaseAttackTime`=1700 WHERE `entry`=7268; -- Sandfury Guardian
+UPDATE `creature_template` SET `BaseAttackTime`=1750 WHERE `entry`=34797; -- Icehowl
+UPDATE `creature_template` SET `BaseAttackTime`=1750 WHERE `entry`=35470; -- Icehowl
+UPDATE `creature_template` SET `BaseAttackTime`=1800 WHERE `entry`=15339; -- Ossirian the Unscarred
+UPDATE `creature_template` SET `BaseAttackTime`=1800 WHERE `entry`=24043; -- Amani Lynx
+UPDATE `creature_template` SET `BaseAttackTime`=1800 WHERE `entry`=9031; -- Anub'shiah
+UPDATE `creature_template` SET `BaseAttackTime`=1818 WHERE `entry`=28034; -- Drakkari Snake Handler
+UPDATE `creature_template` SET `BaseAttackTime`=1818 WHERE `entry`=28035; -- Priest of Sseratus
+UPDATE `creature_template` SET `BaseAttackTime`=1818 WHERE `entry`=34127; -- Boneguard Commander
+UPDATE `creature_template` SET `BaseAttackTime`=1846 WHERE `entry`=12121; -- Drakan
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=10082; -- Zerillis
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=10096; -- High Justice Grimstone
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=10177; -- Spire Scarab
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=10393; -- Skul
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=10919; -- Shatterspear Troll
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1091; -- Mountaineer Gravelgaw
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1095; -- Venture Co. Workboss
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1098; -- Watcher Merant <The Night Watch>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1099; -- Watcher Gelwin <The Night Watch>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1100; -- Watcher Selkin <The Night Watch>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1101; -- Watcher Thayer <The Night Watch>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11196; -- Shatterspear Drummer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11458; -- Petrified Treant
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11459; -- Ironbark Protector
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11470; -- Eldreth Sorcerer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11471; -- Eldreth Apparition
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11472; -- Eldreth Spirit
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11473; -- Eldreth Spectre
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11475; -- Eldreth Phantasm
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11476; -- Skeletal Highborne
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11477; -- Rotting Highborne
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11480; -- Arcane Aberration
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11483; -- Mana Remnant
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11487; -- Magister Kalendris
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11488; -- Illyanna Ravenoak
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11489; -- Tendris Warpwood
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1165; -- Stonesplinter Geomancer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11663; -- Flamewaker Healer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1167; -- Stonesplinter Digger
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1176; -- Tunnel Rat Forager
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1178; -- Mo'grosh Ogre
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11792; -- Putridus Shadowstalker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1179; -- Mo'grosh Enforcer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1181; -- Mo'grosh Shaman
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1183; -- Mo'grosh Mystic
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1184; -- Cliff Lurker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1185; -- Wood Lurker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1189; -- Black Bear Patriarch
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1192; -- Elder Mountain Boar
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1194; -- Mountain Buzzard
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=11980; -- Zuluhed the Whacked <Chieftain of the Dragonmaw Clan>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=12018; -- Majordomo Executus
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1202; -- Tunnel Rat Kobold
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1205; -- Grawmug
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1206; -- Gnasher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1207; -- Brawler
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1210; -- Chok'sul
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1214; -- Aldren Cordon <Clothier>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=12238; -- Zaetar's Spirit
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1271; -- Old Icebeard
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1283; -- Mountaineer Kalmir
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=13079; -- Keetar
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=13081; -- Irondeep Raider
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=13099; -- Irondeep Explorer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=13257; -- Murgot Deepforge
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1329; -- Mountaineer Naarh
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=13326; -- Seasoned Defender
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=13397; -- Irondeep Peon
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1342; -- Mountaineer Rockgar
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1344; -- Prospector Ironband
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1345; -- Magmar Fellhew
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=13716; -- Celebras the Redeemed
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=13916; -- Dire Maul Crystal Totem
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1393; -- Berserk Trogg
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1398; -- Boss Galgosh <Stonesplinter Chieftain>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14235; -- The Rot
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14236; -- Lord Angler
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14237; -- Oozeworm
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14266; -- Shanda the Spinner
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14267; -- Emogg the Crusher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14279; -- Creepthess
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14303; -- Petrified Guardian
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14308; -- Ferra
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14358; -- Shen'dralar Ancient
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14368; -- Lorekeeper Lydros
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14369; -- Shen'dralar Zealot
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14371; -- Shen'dralar Provisioner
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14381; -- Lorekeeper Javon
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14382; -- Lorekeeper Mykos
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14383; -- Lorekeeper Kildrath
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14398; -- Eldreth Darter
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14399; -- Arcane Torrent
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14400; -- Arcane Feedback
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14480; -- Alowicious Czervik <Sweet Treats>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14481; -- Emmithue Smails <Sweet Treats>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14566; -- Ancient Equine Spirit
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=14843; -- Kruban Darkblade <Darkmoon Faire Barker>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15011; -- Wagner Hammerstrike
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15012; -- Javnir Nashak
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15113; -- Honored Hero
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15115; -- Honored Ancestor
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1511; -- Enraged Silverback Gorilla
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15136; -- Hammerfall Elite
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1514; -- Mokk the Savage
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1516; -- Konda
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15318; -- Hive'Zara Drone
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15319; -- Hive'Zara Collector
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15320; -- Hive'Zara Soldier
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15333; -- Silicate Feeder
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15335; -- Flesh Hunter
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15336; -- Hive'Zara Tail Lasher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15338; -- Obsidian Destroyer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15341; -- General Rajaxx
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15348; -- Kurinnaxx
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15355; -- Anubisath Guardian
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15385; -- Colonel Zerran
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15386; -- Major Yeggeth
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15387; -- Qiraji Warrior
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15388; -- Major Pakkon
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15389; -- Captain Drenn
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15390; -- Captain Xurrem
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15391; -- Captain Qeez
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15392; -- Captain Tuubid
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15461; -- Shrieker Scarab
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15471; -- Lieutenant General Andorov
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15549; -- Elder Morndeep
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15565; -- Elder Stormbrow
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15567; -- Elder Ironband
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15568; -- Elder Graveborn
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15570; -- Elder Primestone
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15573; -- Elder Ragetotem
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15578; -- Elder Wildmane
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15583; -- Elder Thunderhorn
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15584; -- Elder Skyseer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15604; -- Elder Morningdew
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=15954; -- Noth the Plaguebringer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=16032; -- Falrin Treeshaper
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=16226; -- Guard Didier <Brotherhood of the Light>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=16232; -- Caravan Mule
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=16550; -- Image of Technician Dyvuun
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=16980; -- The Lich King
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=17129; -- Greater Windroc
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=17233; -- Ghost of Uther Lightbringer <Knights of the Silver Hand>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=17431; -- Velaada
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=18183; -- Arechron
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=18192; -- Horde Halaani Guard
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=18233; -- Elementalist Ioki <The Earthen Ring>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=18282; -- Lord Klaq
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1848; -- Lord Maldazzar
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=18506; -- Raging Soul
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=18678; -- Fulgorge
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=18816; -- Chief Researcher Amereldine
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=18821; -- Quartermaster Jaffrey Noreliqe
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1892; -- Moonrage Watcher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1893; -- Moonrage Sentry
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=1896; -- Moonrage Elder
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=19339; -- Korthul <Bowyer & Gunsmith>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=19342; -- Krek Cragcrush <Blacksmithing Supplies>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=19412; -- D'ore
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=19416; -- Ancient Draenei Spirit
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=19666; -- Shadow Lord Xiraxis
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=19698; -- Greatfather Aldrimus
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=19879; -- Horvon the Armorer <Armorsmith>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=2044; -- Forlorn Spirit
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=20812; -- Corki
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=21095; -- Credit Marker: Water
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=2110; -- Black Rat
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=21474; -- Coreiel <Blade Merchant>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=21483; -- Tasaldan <Ammunition>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=21484; -- Embelar <Food & Drink>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=21638; -- Vengeful Harbinger
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=22331; -- Dragonmaw Elite
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=22332; -- Brood of Neltharaku
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23326; -- Nethermine Ravager
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23651; -- Dragonflayer Tribesman
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23652; -- Dragonflayer Vrykul
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23660; -- Dragonflayer Thane
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23801; -- Turkey
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23931; -- Oluf the Violent
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23953; -- Prince Keleseth <The San'layn>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23954; -- Ingvar the Plunderer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23956; -- Dragonflayer Strategist
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23960; -- Dragonflayer Runecaster
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23961; -- Dragonflayer Ironhelm
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=23970; -- Vrykul Skeleton
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24063; -- Dragonflayer Worg
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24069; -- Dragonflayer Bonecrusher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24071; -- Dragonflayer Heartsplitter
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24078; -- Dragonflayer Metalworker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24079; -- Dragonflayer Forge Master
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24080; -- Dragonflayer Weaponsmith
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24082; -- Proto-Drake Handler
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24084; -- Tunneling Ghoul
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24085; -- Dragonflayer Overseer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24200; -- Skarvald the Constructor
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24201; -- Dalronn the Controller
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24214; -- Yorus the Flesh Harvester
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24215; -- Jlarborn the Strategist
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24249; -- Dragonflayer Soulreaver
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24250; -- Dragonflayer Fleshripper
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24676; -- Crazed Northsea Slaver
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=2476; -- Large Loch Crocolisk
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=2477; -- Gradok <Horde Runner>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=2478; -- Haren Swifthoof <Horde Runner>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24849; -- Proto-Drake Rider
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=24975; -- Mar'nah <Alchemist>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=2524; -- Mountaineer Haggis
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=2541; -- Lord Sakrasis
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=25950; -- Shaani <Jewelcrafting Supplies>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=2602; -- Ruul Onestone
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=2603; -- Kovork
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26550; -- Dragonflayer Deathseeker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26553; -- Dragonflayer Fanatic
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26554; -- Dragonflayer Seer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26620; -- Drakkari Guardian
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26621; -- Ghoul Tormentor
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26624; -- Wretched Belcher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26625; -- Darkweb Recluse
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26627; -- Crystal Handler
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26628; -- Drakkari Scytheclaw
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26632; -- The Prophet Tharon'ja
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26635; -- Risen Drakkari Warrior
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26636; -- Risen Drakkari Soulmage
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26637; -- Risen Drakkari Handler
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26638; -- Risen Drakkari Bat Rider
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26639; -- Drakkari Shaman
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26641; -- Drakkari Gutripper
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26668; -- Svala Sorrowgrave
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26669; -- Ymirjar Savage
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26670; -- Ymirjar Flesh Hunter
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26672; -- Bloodthirsty Tundra Wolf
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26683; -- Frenzied Worgen
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26684; -- Ravenous Furbolg
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26685; -- Massive Jormungar
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26686; -- Ferocious Rhino
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26687; -- Gortok Palehoof
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26690; -- Ymirjar Warrior
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26693; -- Skadi the Ruthless
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26728; -- Mage Hunter Initiate
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26729; -- Steward
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26735; -- Azure Scale-Binder
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26737; -- Crazed Mana-Surge
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26746; -- Crazed Mana-Wraith
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26763; -- Anomalus
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26782; -- Crystalline Keeper
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26793; -- Crystalline Frayer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26830; -- Risen Drakkari Death Knight
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=26918; -- Chaotic Rift
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27431; -- Drakkari Commander
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27447; -- Varos Cloudstrider <Azure-Lord of the Blue Dragonflight>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27483; -- King Dred
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27631; -- Angrathar Aberration
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27633; -- Azure Inquisitor
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27635; -- Azure Spellbinder
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27636; -- Azure Ley-Whelp
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27638; -- Azure Ring Guardian
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27639; -- Ring-Lord Sorceress
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27640; -- Ring-Lord Conjurer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27641; -- Centrifuge Construct
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27642; -- Phantasmal Mammoth
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27645; -- Phantasmal Cloudscraper
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27648; -- Phantasmal Naga
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27650; -- Phantasmal Air
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27651; -- Phantasmal Fire
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27653; -- Phantasmal Water
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27654; -- Drakos the Interrogator
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27655; -- Mage-Lord Urom
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27871; -- Flesheating Ghoul
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27947; -- Horde Commander
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=27972; -- Lightning Construct
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28231; -- Crystalline Tender
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28368; -- Ymirjar Necromancer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28410; -- Dragonflayer Spiritualist
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28684; -- Krik'thir the Gatewatcher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28729; -- Watcher Narjil
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28730; -- Watcher Gashra
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28731; -- Watcher Silthik
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28732; -- Anub'ar Warrior
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28733; -- Anub'ar Shadowcaster
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28921; -- Hadronox
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=28922; -- Anub'ar Crusher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=29120; -- Anub'arak
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=29128; -- Anub'ar Prime Guard
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=29308; -- Prince Taldaram
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=29309; -- Elder Nadox
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=29310; -- Jedoga Shadowseeker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=29311; -- Herald Volazj
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30111; -- Twilight Worshipper
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30179; -- Twilight Apostle
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30276; -- Ahn'kahar Web Winder
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30277; -- Ahn'kahar Slasher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30278; -- Ahn'kahar Spell Flinger
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30279; -- Deep Crawler
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30284; -- Bonegrinder
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30285; -- Eye of Taldaram
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30286; -- Frostbringer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30287; -- Plundering Geist
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30319; -- Twilight Darkcaster
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30338; -- Ahn'kahar Swarmer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30385; -- Twilight Volunteer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30414; -- Forgotten One
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30416; -- Bound Fire Elemental
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30418; -- Bound Air Elemental
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=30419; -- Bound Water Elemental
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=31266; -- Shadow Vault Assaulter
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=32545; -- Initiate's Training Dummy
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=33255; -- Titanium Stormlord
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=35119; -- Eadric the Pure <Grand Champion of the Argent Crusade>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=3529; -- Moonrage Armorer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=3531; -- Moonrage Tailor
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=35570; -- Zul'tore <Grand Champion of Sen'jin>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=35571; -- Runok Wildmane <Grand Champion of the Thunder Bluff>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=3581; -- Sewer Beast
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=3652; -- Trigore the Lasher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=38112; -- Falric
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=3854; -- Shadowfang Wolfguard
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=3865; -- Shadow Charger
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=4257; -- Lana Thunderbrew <Blacksmithing Supplies>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=4293; -- Scarlet Scryer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=4848; -- Shadowforge Darkcaster
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=4849; -- Shadowforge Archaeologist
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=4853; -- Stonevault Geomancer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=4854; -- Grimlok <Stonevault Chieftain>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=4855; -- Stonevault Brawler
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=4860; -- Stone Steward
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=4861; -- Shrike Bat
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=521; -- Lupos
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5226; -- Murk Worm
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5228; -- Saturated Ooze
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5256; -- Atal'ai Warrior
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5259; -- Atal'ai Witch Doctor
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5267; -- Unliving Atal'ai
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5270; -- Atal'ai Corpse Eater
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5271; -- Atal'ai Deathwalker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5273; -- Atal'ai High Priest
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5277; -- Nightmare Scalebane
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5280; -- Nightmare Wyrmkin
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5283; -- Nightmare Wanderer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5286; -- Longtooth Runner
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5291; -- Hakkari Frostwing
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5434; -- Coral Shark
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5470; -- Raging Dune Smasher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5676; -- Summoned Voidwalker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5708; -- Spawn of Hakkar
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5709; -- Shade of Eranikus
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5710; -- Jammal'an the Prophet
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5711; -- Ogom the Wretched
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5712; -- Zolo
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5714; -- Loro
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5715; -- Hukku
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5716; -- Zul'Lor
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5717; -- Mijan
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5719; -- Morphaz
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5720; -- Weaver
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5721; -- Dreamscythe
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5722; -- Hazzas
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5728; -- Jezelle's Succubus
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5832; -- Thunderstomp
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5834; -- Azzere the Skyblade
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5851; -- Captain Gerogg Hammertoe <Bael'dun Captain of the Guard>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5916; -- Sentinel Amarassan
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=5937; -- Vile Sting
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=6177; -- Narm Faulk
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=6215; -- Chomper
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=6228; -- Dark Iron Ambassador
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=646; -- Mr. Smite <The Ship's First Mate>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=6577; -- Bingles Blastenheimer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7012; -- Earthen Sculptor
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7015; -- Flagglemurk the Cruel
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7077; -- Earthen Hallshaper
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7135; -- Infernal Bodyguard
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7170; -- Thragomm <Horde Runner>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7172; -- Lore Keeper of Norgannon
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7267; -- Chief Ukorz Sandscalp
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7273; -- Gahz'rilla
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7275; -- Shadowpriest Sezz'ziz
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7290; -- Shadowforge Sharpshooter
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7291; -- Galgann Firehammer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7309; -- Earthen Custodian
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7320; -- Stonevault Mauler
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7321; -- Stonevault Flameweaver
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7349; -- Tomb Fiend
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7351; -- Tomb Reaver
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7354; -- Ragglesnout
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7355; -- Tuten'kash
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7361; -- Grubbis
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7397; -- Earthen Stonecarver
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7405; -- Deadly Cleft Scorpid
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7787; -- Sandfury Slave
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7788; -- Sandfury Drudge
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7789; -- Sandfury Cretin
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7803; -- Scorpid Duneburrower
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=7808; -- Marauding Owlbeast
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8017; -- Sen'jin Guardian
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8118; -- Lillian Singh <Holiday Fireworks Vendor>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8138; -- Sul'lithuz Broodling
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=815; -- Bookie Herod
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8199; -- Warleader Krazzilak
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8211; -- Old Cliff Jumper
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8218; -- Witherheart the Stalker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8219; -- Zul'arek Hatefowler
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8279; -- Faulty War Golem
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8281; -- Scald
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8311; -- Slime Maggot
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8318; -- Atal'ai Slave
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8319; -- Nightmare Whelp
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8320; -- Sprok <Away Team>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8336; -- Hakkari Sapper
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8338; -- Dark Iron Marksman
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8384; -- Deep Lurker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8480; -- Kalaran the Deceiver
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8876; -- Sandfury Acolyte
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8923; -- Panzor the Invincible
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8925; -- Dredge Worm
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8926; -- Deep Stinger
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8927; -- Dark Screecher
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=8928; -- Burrowing Thundersnout
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9028; -- Grizzle
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9030; -- Ok'thor the Breaker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9178; -- Burning Spirit
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9237; -- War Master Voone
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9239; -- Smolderthorn Mystic
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9240; -- Smolderthorn Shadow Priest
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9261; -- Firebrand Darkweaver <Firebrand Legion>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9262; -- Firebrand Invoker <Firebrand Legion>
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9267; -- Smolderthorn Axe Thrower
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9268; -- Smolderthorn Berserker
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9269; -- Smolderthorn Seer
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9476; -- Watchman Doomgrip
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9537; -- Hurley Blackbreath
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9541; -- Blackbreath Crony
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9604; -- Gorgon'och
+UPDATE `creature_template` SET `BaseAttackTime`=2000 WHERE `entry`=9701; -- Spire Scorpid
+UPDATE `creature_template` SET `BaseAttackTime`=2143 WHERE `entry`=30338; -- Ahn'kahar Swarmer
+UPDATE `creature_template` SET `BaseAttackTime`=2200 WHERE `entry`=30283; -- Plague Walker
+UPDATE `creature_template` SET `BaseAttackTime`=2200 WHERE `entry`=31144; -- Grandmaster's Training Dummy
+UPDATE `creature_template` SET `BaseAttackTime`=2280 WHERE `entry`=37003; -- Skybreaker Vindicator
+UPDATE `creature_template` SET `BaseAttackTime`=2280 WHERE `entry`=37017; -- Skybreaker Assassin
+UPDATE `creature_template` SET `BaseAttackTime`=2280 WHERE `entry`=37148; -- Skybreaker Summoner
+UPDATE `creature_template` SET `BaseAttackTime`=2280 WHERE `entry`=37544; -- Spire Gargoyle
+UPDATE `creature_template` SET `BaseAttackTime`=2300 WHERE `entry`=31438; -- Shadow Vault Abomination
+UPDATE `creature_template` SET `BaseAttackTime`=2300 WHERE `entry`=7076; -- Earthen Guardian
+UPDATE `creature_template` SET `BaseAttackTime`=2308 WHERE `entry`=30338; -- Ahn'kahar Swarmer
+UPDATE `creature_template` SET `BaseAttackTime`=2400 WHERE `entry`=11664; -- Flamewaker Elite
+UPDATE `creature_template` SET `BaseAttackTime`=2400 WHERE `entry`=11949; -- Captain Balinda Stonehearth <Stormpike Captain>
+UPDATE `creature_template` SET `BaseAttackTime`=2400 WHERE `entry`=2502; -- "Shaky" Phillipe
+UPDATE `creature_template` SET `BaseAttackTime`=2400 WHERE `entry`=26734; -- Azure Enforcer
+UPDATE `creature_template` SET `BaseAttackTime`=2400 WHERE `entry`=26792; -- Crystalline Protector
+UPDATE `creature_template` SET `BaseAttackTime`=2400 WHERE `entry`=26794; -- Ormorok the Tree-Shaper
+UPDATE `creature_template` SET `BaseAttackTime`=2400 WHERE `entry`=30688; -- Disciple of Shadron
+UPDATE `creature_template` SET `BaseAttackTime`=2400 WHERE `entry`=36880; -- Decaying Colossus
+UPDATE `creature_template` SET `BaseAttackTime`=2400 WHERE `entry`=40502; -- Zalazane
+UPDATE `creature_template` SET `BaseAttackTime`=2400 WHERE `entry`=8877; -- Sandfury Zealot
+UPDATE `creature_template` SET `BaseAttackTime`=2500 WHERE `entry`=10120; -- Vault Warder
+UPDATE `creature_template` SET `BaseAttackTime`=2500 WHERE `entry`=15370; -- Buru the Gorger
+UPDATE `creature_template` SET `BaseAttackTime`=2500 WHERE `entry`=24018; -- Necro Overlord Mezhen
+UPDATE `creature_template` SET `BaseAttackTime`=2500 WHERE `entry`=24241; -- Thurg
+UPDATE `creature_template` SET `BaseAttackTime`=2500 WHERE `entry`=26626; -- Scourge Reanimator
+UPDATE `creature_template` SET `BaseAttackTime`=2500 WHERE `entry`=7796; -- Nekrum Gutchewer
+UPDATE `creature_template` SET `BaseAttackTime`=2600 WHERE `entry`=2748; -- Archaedas <Ancient Stone Watcher>
+UPDATE `creature_template` SET `BaseAttackTime`=2600 WHERE `entry`=7797; -- Ruuzlu
+UPDATE `creature_template` SET `BaseAttackTime`=2700 WHERE `entry`=15473; -- Kaldorei Elite
+UPDATE `creature_template` SET `BaseAttackTime`=2700 WHERE `entry`=7011; -- Earthen Rocksmasher
+UPDATE `creature_template` SET `BaseAttackTime`=2700 WHERE `entry`=7396; -- Earthen Stonebreaker
+UPDATE `creature_template` SET `BaseAttackTime`=2700 WHERE `entry`=9259; -- Firebrand Grunt <Firebrand Legion>
+UPDATE `creature_template` SET `BaseAttackTime`=2800 WHERE `entry`=11502; -- Ragnaros
+UPDATE `creature_template` SET `BaseAttackTime`=2800 WHERE `entry`=4857; -- Stone Keeper
+UPDATE `creature_template` SET `BaseAttackTime`=2800 WHERE `entry`=7206; -- Ancient Stone Keeper
+UPDATE `creature_template` SET `BaseAttackTime`=2900 WHERE `entry`=7228; -- Ironaya
+UPDATE `creature_template` SET `BaseAttackTime`=3000 WHERE `entry`=1180; -- Mo'grosh Brute
+UPDATE `creature_template` SET `BaseAttackTime`=3000 WHERE `entry`=30023; -- Korrak the Bloodrager <Champion of the Winterax>
+UPDATE `creature_template` SET `BaseAttackTime`=3000 WHERE `entry`=35763; -- Skittering Scarab
+UPDATE `creature_template` SET `BaseAttackTime`=3000 WHERE `entry`=412; -- Stitches <Gift from the Embalmer>
+UPDATE `creature_template` SET `BaseAttackTime`=3000 WHERE `entry`=8580; -- Atal'alarion <Guardian of the Idol>
+UPDATE `creature_template` SET `BaseAttackTime`=3300 WHERE `entry`=17185; -- Bristlelimb Ursa
+UPDATE `creature_template` SET `BaseAttackTime`=3600 WHERE `entry`=24559; -- Warlord Salaris
+UPDATE `creature_template` SET `BaseAttackTime`=4000 WHERE `entry`=15428; -- Sand Vortex
+UPDATE `creature_template` SET `BaseAttackTime`=5000 WHERE `entry`=36551; -- Spiteful Apparition
+UPDATE `creature_template` SET `BaseAttackTime`=800 WHERE `entry`=15323; -- Hive'Zara Sandstalker
+
+-- hover heights
+UPDATE `creature_template` SET `HoverHeight`=1.2 WHERE `entry`=29349; -- Anub'ar Darter
+UPDATE `creature_template` SET `HoverHeight`=1.2 WHERE `entry`=29755; -- Stormpeak Hatchling
+UPDATE `creature_template` SET `HoverHeight`=1.2 WHERE `entry`=30500; -- Argent Skytalon
+UPDATE `creature_template` SET `HoverHeight`=1.2 WHERE `entry`=37858; -- Razorscale Image
+UPDATE `creature_template` SET `HoverHeight`=1.5 WHERE `entry`=26607; -- Anub'ar Blightbeast
+UPDATE `creature_template` SET `HoverHeight`=10 WHERE `entry`=24770; -- Nexus Watcher
+UPDATE `creature_template` SET `HoverHeight`=10 WHERE `entry`=26949; -- Torastrasza <Majordomo to the Ruling Council>
+UPDATE `creature_template` SET `HoverHeight`=10 WHERE `entry`=29066; -- Titan Sentry
+UPDATE `creature_template` SET `HoverHeight`=10 WHERE `entry`=30575; -- Frostbrood Destroyer
+UPDATE `creature_template` SET `HoverHeight`=10 WHERE `entry`=30674; -- Frostbrood Destroyer
+UPDATE `creature_template` SET `HoverHeight`=10 WHERE `entry`=32857; -- Stormcaller Brundir
+UPDATE `creature_template` SET `HoverHeight`=12.5 WHERE `entry`=26276; -- Nexus Guardian
+UPDATE `creature_template` SET `HoverHeight`=15 WHERE `entry`=26276; -- Nexus Guardian
+UPDATE `creature_template` SET `HoverHeight`=15 WHERE `entry`=27608; -- Azure Dragon
+UPDATE `creature_template` SET `HoverHeight`=15 WHERE `entry`=31393; -- Crystal Wyrm
+UPDATE `creature_template` SET `HoverHeight`=2 WHERE `entry`=24563; -- Nerub'ar Venomspitter
+UPDATE `creature_template` SET `HoverHeight`=2 WHERE `entry`=25582; -- Scourged Flamespitter
+UPDATE `creature_template` SET `HoverHeight`=2 WHERE `entry`=25711; -- Spirit of the North
+UPDATE `creature_template` SET `HoverHeight`=2 WHERE `entry`=29488; -- Scourge Gryphon
+UPDATE `creature_template` SET `HoverHeight`=2 WHERE `entry`=29501; -- Scourge Gryphon
+UPDATE `creature_template` SET `HoverHeight`=2 WHERE `entry`=33721; -- Lore Keeper Projection Unit
+UPDATE `creature_template` SET `HoverHeight`=2.25 WHERE `entry`=29798; -- Hyldsmeet Proto-Drake
+UPDATE `creature_template` SET `HoverHeight`=2.25 WHERE `entry`=30235; -- Glory
+UPDATE `creature_template` SET `HoverHeight`=3 WHERE `entry`=23680; -- Plagued Proto-Dragon
+UPDATE `creature_template` SET `HoverHeight`=3 WHERE `entry`=23935; -- Val'kyr Watcher
+UPDATE `creature_template` SET `HoverHeight`=3 WHERE `entry`=24258; -- Val'kyr Overseer
+UPDATE `creature_template` SET `HoverHeight`=3 WHERE `entry`=28824; -- Brann Flying Machine
+UPDATE `creature_template` SET `HoverHeight`=3 WHERE `entry`=29545; -- Proto-Drake Corpse
+UPDATE `creature_template` SET `HoverHeight`=3 WHERE `entry`=31721; -- Frostbrood Sentry
+UPDATE `creature_template` SET `HoverHeight`=3 WHERE `entry`=32767; -- Frostbrood Sentry
+UPDATE `creature_template` SET `HoverHeight`=3.75 WHERE `entry`=26841; -- Reanimated Frost Wyrm
+UPDATE `creature_template` SET `HoverHeight`=35 WHERE `entry`=27925; -- Nozdormu <The Lord of Time>
+UPDATE `creature_template` SET `HoverHeight`=4 WHERE `entry`=23689; -- Proto-Drake
+UPDATE `creature_template` SET `HoverHeight`=4 WHERE `entry`=24327; -- Val'kyr Soulclaimer
+UPDATE `creature_template` SET `HoverHeight`=4 WHERE `entry`=28487; -- Val'kyr Battle-maiden
+UPDATE `creature_template` SET `HoverHeight`=4 WHERE `entry`=29590; -- Blighted Proto-Drake
+UPDATE `creature_template` SET `HoverHeight`=4 WHERE `entry`=31029; -- Possessed Vardmadra
+UPDATE `creature_template` SET `HoverHeight`=4 WHERE `entry`=31265; -- Savage Proto-Drake
+UPDATE `creature_template` SET `HoverHeight`=4 WHERE `entry`=31396; -- Val'kyr Taskmistress
+UPDATE `creature_template` SET `HoverHeight`=5 WHERE `entry`=28208; -- Hailscorn
+UPDATE `creature_template` SET `HoverHeight`=5 WHERE `entry`=29746; -- Databank
+UPDATE `creature_template` SET `HoverHeight`=5.85 WHERE `entry`=27638; -- Azure Ring Guardian
+UPDATE `creature_template` SET `HoverHeight`=6 WHERE `entry`=31135; -- Geirrvif
+UPDATE `creature_template` SET `HoverHeight`=6 WHERE `entry`=36065; -- Fjola Lightbane
+UPDATE `creature_template` SET `HoverHeight`=6 WHERE `entry`=36066; -- Eydis Darkbane
+UPDATE `creature_template` SET `HoverHeight`=7.5 WHERE `entry`=26858; -- Sarathstra
+UPDATE `creature_template` SET `HoverHeight`=7.5 WHERE `entry`=30486; -- Frostbrood Destroyer
+UPDATE `creature_template` SET `HoverHeight`=8 WHERE `entry`=30997; -- Chromie
+UPDATE `creature_template` SET `HoverHeight`=9 WHERE `entry`=32492; -- Frostbrood Matriarch
+UPDATE `creature_template` SET `HoverHeight`=9 WHERE `entry`=37533; -- Rimefang
+UPDATE `creature_template` SET `HoverHeight`=9 WHERE `entry`=37534; -- Spinestalker
diff --git a/sql/updates/world/2014_09_07_04_world_npc_classes.sql b/sql/updates/world/2014_09_07_04_world_npc_classes.sql
new file mode 100644
index 00000000000..c95d4b3ee41
--- /dev/null
+++ b/sql/updates/world/2014_09_07_04_world_npc_classes.sql
@@ -0,0 +1,15 @@
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=32113;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=32116;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=32115;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=32114;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=32117;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=32118;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=35744;
+
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37436;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37439;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37438;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37437;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37440;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=37441;
+UPDATE `creature_template` SET `unit_class`=2 WHERE `entry`=35745;
diff --git a/sql/updates/world/2014_09_07_05_world_sai.sql b/sql/updates/world/2014_09_07_05_world_sai.sql
new file mode 100644
index 00000000000..104e9d3d015
--- /dev/null
+++ b/sql/updates/world/2014_09_07_05_world_sai.sql
@@ -0,0 +1,128 @@
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(19546,19579,19545,19580,19543,19544,-70107,-70108,-70109,-70110,-70111) AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(1954600,1954500,1954400,1954300) 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
+(19546, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - On Just Summoned - Store Targetlist'),
+(19546, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - On Just Summoned - Set Faction 7'),
+(19546, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - On Just Summoned - Set Flags Immune to NPC/PC'),
+(19546, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 19546, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - On Just Summoned - Start WP'),
+(19546, 0, 4, 0, 40, 0, 100, 0, 5, 19546, 0, 0, 80, 1954600, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - On Reached WP5 - Run Script'),
+(19546, 0, 5, 0, 4, 0, 100, 0, 0, 0, 0, 0, 11, 12544, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - On Aggro - Cast \'Frost Armor\''),
+(19546, 0, 6, 0, 0, 0, 100, 0, 2000, 5000, 12000, 22000, 11, 17740, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - In Combat - Cast \'Mana Shield\''),
+(19546, 0, 7, 0, 0, 0, 100, 0, 0, 6000, 2500, 8000, 11, 34447, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - In Combat - Cast \'Arcane Missiles\''),
+(19546, 0, 8, 0, 25, 0, 100, 0, 0, 0, 0, 0, 28, 12544, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - On Reset - Remove Aura \'Frost Armor\''),
+(19545, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - On Just Summoned - Store Targetlist'),
+(19545, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - On Just Summoned - Set Faction 7'),
+(19545, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - On Just Summoned - Set Flags Immune to NPC/PC'),
+(19545, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 19545, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - On Just Summoned - Start WP'),
+(19545, 0, 4, 0, 40, 0, 100, 0, 6, 19545, 0, 0, 80, 1954500, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - On Reached WP6 - Run Script'),
+(19545, 0, 5, 0, 0, 0, 100, 0, 0, 1000, 25000, 30000, 11, 33245, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - In Combat - Cast \'Ice Barrier\''),
+(19545, 0, 6, 0, 0, 0, 100, 0, 0, 10000, 2500, 9500, 11, 11831, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - In Combat - Cast \'Frost Nova\''),
+(19545, 0, 7, 0, 0, 0, 100, 0, 0, 2500, 2500, 11000, 11, 9672, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - In Combat - Cast \'Frostbolt\''),
+(19544, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - On Just Summoned - Store Targetlist'),
+(19544, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - On Just Summoned - Set Faction 7'),
+(19544, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - On Just Summoned - Set Flags Immune to NPC/PC'),
+(19544, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 19544, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - On Just Summoned - Start WP'),
+(19544, 0, 4, 0, 40, 0, 100, 0, 3, 19544, 0, 0, 80, 1954400, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - On Reached WP3 - Run Script'),
+(19544, 0, 5, 0, 0, 0, 100, 0, 0, 2500, 1000, 7500, 11, 9532, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - In Combat - Cast \'Lightning Bolt\''),
+(19544, 0, 6, 0, 0, 0, 100, 0, 0, 5000, 15000, 30000, 11, 36110, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - In Combat - Cast \'Summon Dancing Sword\''),
+(19544, 0, 7, 0, 0, 0, 100, 0, 0, 10000, 5000, 15000, 11, 36109, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - In Combat - Cast \'Blink\''),
+(19543, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - On Just Summoned - Store Targetlist'),
+(19543, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - On Just Summoned - Remove Weapon'),
+(19543, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - On Just Summoned - Set Faction 7'),
+(19543, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - On Just Summoned - Set Flags Immune to NPC/PC'),
+(19543, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 19543, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - On Just Summoned - Start WP'),
+(19543, 0, 5, 0, 40, 0, 100, 0, 5, 19543, 0, 0, 80, 1954300, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - On Reached WP5 - Run Script'),
+(19543, 0, 6, 0, 0, 0, 100, 0, 0, 3000, 3000, 8000, 11, 36104, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - In Combat - Cast \'Torrent of Flames\''),
+(19543, 0, 7, 0, 0, 0, 100, 0, 0, 2500, 8500, 12000, 11, 17273, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - In Combat - Cast \'Pyroblast\''),
+(-70109, 0, 0, 0, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 34212, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invisible Location Trigger - OOC - Cast Blue beam'),
+(-70107, 0, 0, 0, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 34211, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invisible Location Trigger - OOC - Cast Blue beam'),
+(-70110, 0, 0, 0, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 34209, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invisible Location Trigger - OOC - Cast Blue beam'),
+(-70108, 0, 0, 0, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 34212, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invisible Location Trigger - OOC - Cast Blue beam'),
+(-70111, 0, 0, 0, 1, 0, 100, 0, 0, 0, 5000, 5000, 11, 34211, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Invisible Location Trigger - OOC - Cast Blue beam'),
+(1954600, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 4.014257, 'Abjurist Belmara - Script - Set Orientation'),
+(1954600, 9, 1, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 5, 69, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - Script - Play Emote Use_standing'),
+(1954600, 9, 2, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - Script - Play Emote none'),
+(1954600, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 71, 0, 0, 12742, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - Script - Equip Item'),
+(1954600, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - Script - Say Line'),
+(1954600, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 33, 19547, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Abjurist Belmara - Script - Give Kill Credit'),
+(1954500, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1.902409, 'Cohlien Frostweaver - Script - Set Orientation'),
+(1954500, 9, 1, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 5, 69, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - Script - Play Emote Use_standing'),
+(1954500, 9, 2, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - Script - Say Line'),
+(1954500, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - Script - Play Emote none'),
+(1954500, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 36, 19579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - Script - Change Entry to Cohlien Frostweaver with Hat'),
+(1954500, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - Script - Set Faction'),
+(1954500, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 33, 19550, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Cohlien Frostweaver - Script - Give Kill Credit'),
+(1954400, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 3.961897, 'Conjurer Luminrath - Script - Set Orientation'),
+(1954400, 9, 1, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - Script - Say Line'),
+(1954400, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 5, 69, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - Script - Play Emote Use_standing'),
+(1954400, 9, 3, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - Script - Play Emote none'),
+(1954400, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - Script - Say Line 2'),
+(1954400, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 36, 19580, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - Script - Change Entry to Luminrath with Cape'),
+(1954400, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - Script - Set Faction'),
+(1954400, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 33, 19548, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Conjurer Luminrath - Script - Give Kill Credit'),
+(1954300, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 4.537856, 'Battle-Mage Dathric - Script - Set Orientation'),
+(1954300, 9, 1, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 5, 69, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - Script - Play Emote Use_standing'),
+(1954300, 9, 2, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - Script - Play Emote none'),
+(1954300, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 71, 0, 0, 18983, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - Script - Equip Item'),
+(1954300, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - Script - Say Line'),
+(1954300, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 33, 19549, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Battle-Mage Dathric - Script - Give Kill Credit');
+
+DELETE FROM `creature_text` WHERE `entry` IN(19545,19544,19543,19546);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES
+(19545, 0, 0, 'Phew! There''s my lucky hat. I''ve been looking for it everywhere.', 12, 0, 100, 0, 0, 0, 'Cohlien Frostweaver',16926),
+(19544, 0, 0, 'I can''t possibly go out without my cloak. I hope it''s in here...', 12, 0, 100, 0, 0, 0, 'Conjurer Luminrath',16927),
+(19544, 1, 0, 'There it is! I could''ve sworn it wasn''t here last time I checked...', 12, 0, 100, 0, 0, 0, 'Conjurer Luminrath',16929),
+(19543, 0, 0, 'I don''t know what I was thinking, going out without my sword. I would''ve put it on if I''d seen it here...', 12, 0, 100, 0, 0, 0, 'Battle-Mage Dathric',16931),
+(19546, 0, 0, 'I can''t sleep without a good bedtime story. Now I''m certain to rest well.', 12, 0, 100, 0, 0, 0, 'Abjurist Belmara',16932);
+
+DELETE FROM `waypoints` WHERE `entry` IN(19546,19545,19544,19543);
+
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(19546, 1,2237.667, 2393.5, 112.7383, 'Abjurist Belmara'),
+(19546, 2,2238.667, 2393.75, 112.9883, 'Abjurist Belmara'),
+(19546, 3,2239.417, 2393.25, 112.9883, 'Abjurist Belmara'),
+(19546, 4,2239.917, 2392.5, 112.9883, 'Abjurist Belmara'),
+(19546, 5,2240.365, 2390.882, 112.6025, 'Abjurist Belmara'),
+(19545, 1,2214.206, 2400.794, 108.8995, 'Cohlien Frostweaver'),
+(19545, 2,2213.218, 2400.951, 108.8995, 'Cohlien Frostweaver'),
+(19545, 3,2204.71, 2408.806, 108.6094, 'Cohlien Frostweaver'),
+(19545, 4,2204.71, 2408.806, 108.6094, 'Cohlien Frostweaver'),
+(19545, 5,2204.652, 2408.992, 108.6537, 'Cohlien Frostweaver'),
+(19545, 6,2202.912, 2411.269, 108.6577, 'Cohlien Frostweaver'),
+(19544, 1,2198.386, 2334.958, 89.4724, 'Conjurer Luminrath'),
+(19544, 2,2197.577, 2334.37, 89.4724, 'Conjurer Luminrath'),
+(19544, 3,2193.663, 2339.085, 90.02818, 'Conjurer Luminrath'),
+(19543, 1,2235.705, 2320.857, 92.30136, 'Battle-Mage Dathric'),
+(19543, 2,2235.67, 2319.858, 92.30136, 'Battle-Mage Dathric'),
+(19543, 3,2233.228, 2317.592, 91.34792, 'Battle-Mage Dathric'),
+(19543, 4,2230.454, 2316.294, 90.59956, 'Battle-Mage Dathric'),
+(19543, 5,2228.403, 2313.777, 89.63835, 'Battle-Mage Dathric');
+
+DELETE FROM `event_scripts` WHERE `id` IN(12607,12610,12609,12608);
+INSERT INTO `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES
+(12607, 0, 10, 19546, 25000, 0, 2236.969, 2393.117, 112.374, 5.811946),
+(12610, 0, 10, 19545, 25000, 0, 2212.535, 2401.582, 108.8762, 2.396056),
+(12609, 0, 10, 19544, 25000, 0, 2197.269, 2334.741, 89.5162, 2.263612),
+(12608, 0, 10, 19543, 25000, 0, 2235.094, 2319.323, 92.07642, 3.889618);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN(34209,34211,34212);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13, 1, 34209, 0, 0, 31, 0, 3, 19656, 0, 0, 0, 0, '', 'Blue Beam Targets Invisible Location trigger'),
+(13, 1, 34211, 0, 0, 31, 0, 3, 19656, 0, 0, 0, 0, '', 'Blue Beam Targets Invisible Location trigger'),
+(13, 1, 34212, 0, 0, 31, 0, 3, 19656, 0, 0, 0, 0, '', 'Blue Beam Targets Invisible Location trigger');
+
+UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=28503 AND `source_type`=0 AND `id`=7 AND `link`=8;
+UPDATE `smart_scripts` SET `event_flags`=0 WHERE `entryorguid`=9098 AND `source_type`=0 AND `id`=0 AND `link`=0;
+UPDATE `smart_scripts` SET `event_flags`=0 WHERE `entryorguid`=14389 AND `source_type`=0 AND `id`=0 AND `link`=0;
+
+DELETE FROM `spell_area` WHERE `spell`=34102;
+INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
+(34102, 3733, 0, 0, 0, 0, 2, 1, 64, 11); -- Curse of the Violet Tower
+
+DELETE FROM `disables` WHERE `sourceType`=0 AND `entry` IN(34209,34211,34212);
+INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES
+(0, 34209, 64, '', '', 'Ignore LOS on Blue Beam'),
+(0, 34211, 64, '', '', 'Ignore LOS on Blue Beam'),
+(0, 34212, 64, '', '', 'Ignore LOS on Blue Beam');
diff --git a/sql/updates/world/2014_09_07_06_world_sai.sql b/sql/updates/world/2014_09_07_06_world_sai.sql
new file mode 100644
index 00000000000..b668a881591
--- /dev/null
+++ b/sql/updates/world/2014_09_07_06_world_sai.sql
@@ -0,0 +1,6 @@
+SET @ENTRY := 25040; -- Greater Water Elemental
+UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = @ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @ENTRY AND `source_type` = 0;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(@ENTRY, 0, 1, 0, 0, 0, 100, 0, 3000, 3000, 5000, 5000, 11, 46983, 64, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Greater Water Elemental - In Combat CMC - Cast Waterbolt');
+
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index a94b58868ee..ee8fee198bf 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -5846,40 +5846,38 @@ float Player::OCTRegenMPPerSpirit()
return regen;
}
-void Player::ApplyRatingMod(CombatRating cr, int32 value, bool apply)
+void Player::ApplyRatingMod(CombatRating combatRating, int32 value, bool apply)
{
- float oldRating = m_baseRatingValue[cr];
- m_baseRatingValue[cr]+=(apply ? value : -value);
+ float oldRating = m_baseRatingValue[combatRating];
+ m_baseRatingValue[combatRating] += (apply ? value : -value);
+
// explicit affected values
- if (cr == CR_HASTE_MELEE || cr == CR_HASTE_RANGED || cr == CR_HASTE_SPELL)
- {
- float const mult = GetRatingMultiplier(cr);
- float const oldVal = oldRating * mult;
- float const newVal = m_baseRatingValue[cr] * mult;
- switch (cr)
- {
- case CR_HASTE_MELEE:
- ApplyAttackTimePercentMod(BASE_ATTACK, oldVal, false);
- ApplyAttackTimePercentMod(OFF_ATTACK, oldVal, false);
- ApplyAttackTimePercentMod(BASE_ATTACK, newVal, true);
- ApplyAttackTimePercentMod(OFF_ATTACK, newVal, true);
+ float const multiplier = GetRatingMultiplier(combatRating);
+ float const oldVal = oldRating * multiplier;
+ float const newVal = m_baseRatingValue[combatRating] * multiplier;
+ switch (combatRating)
+ {
+ case CR_HASTE_MELEE:
+ ApplyAttackTimePercentMod(BASE_ATTACK, oldVal, false);
+ ApplyAttackTimePercentMod(OFF_ATTACK, oldVal, false);
+ ApplyAttackTimePercentMod(BASE_ATTACK, newVal, true);
+ ApplyAttackTimePercentMod(OFF_ATTACK, newVal, true);
if (getClass() == CLASS_DEATH_KNIGHT)
UpdateAllRunesRegen();
- break;
- case CR_HASTE_RANGED:
- ApplyAttackTimePercentMod(RANGED_ATTACK, oldVal, false);
- ApplyAttackTimePercentMod(RANGED_ATTACK, newVal, true);
- break;
- case CR_HASTE_SPELL:
- ApplyCastTimePercentMod(oldVal, false);
- ApplyCastTimePercentMod(newVal, true);
- break;
- default: // shut up compiler warnings
- break;
- }
+ break;
+ case CR_HASTE_RANGED:
+ ApplyAttackTimePercentMod(RANGED_ATTACK, oldVal, false);
+ ApplyAttackTimePercentMod(RANGED_ATTACK, newVal, true);
+ break;
+ case CR_HASTE_SPELL:
+ ApplyCastTimePercentMod(oldVal, false);
+ ApplyCastTimePercentMod(newVal, true);
+ break;
+ default:
+ break;
}
- UpdateRating(cr);
+ UpdateRating(combatRating);
}
void Player::UpdateRating(CombatRating cr)
@@ -27221,13 +27219,13 @@ void Player::SendItemRetrievalMail(uint32 itemEntry, uint32 count)
MailSender sender(MAIL_CREATURE, 34337 /* The Postmaster */);
MailDraft draft("Recovered Item", "We recovered a lost item in the twisting nether and noted that it was yours.$B$BPlease find said object enclosed."); // This is the text used in Cataclysm, it probably wasn't changed.
SQLTransaction trans = CharacterDatabase.BeginTransaction();
-
+
if (Item* item = Item::CreateItem(itemEntry, count, 0))
{
item->SaveToDB(trans);
draft.AddItem(item);
}
-
+
draft.SendMailTo(trans, MailReceiver(this, GetGUIDLow()), sender);
CharacterDatabase.CommitTransaction(trans);
}
diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp
index b0e0d60803b..ee428694beb 100644
--- a/src/server/game/Handlers/SpellHandler.cpp
+++ b/src/server/game/Handlers/SpellHandler.cpp
@@ -34,6 +34,7 @@
#include "GameObjectAI.h"
#include "SpellAuraEffects.h"
#include "Player.h"
+#include "Config.h"
void WorldSession::HandleClientCastFlags(WorldPacket& recvPacket, uint8 castFlags, SpellCastTargets& targets)
{
@@ -481,6 +482,25 @@ void WorldSession::HandleCancelAuraOpcode(WorldPacket& recvPacket)
// maybe should only remove one buff when there are multiple?
_player->RemoveOwnedAura(spellId, 0, 0, AURA_REMOVE_BY_CANCEL);
+
+ // If spell being removed is a resource tracker, see if player was tracking both (herbs / minerals) and remove the other
+ if (sWorld->getBoolConfig(CONFIG_ALLOW_TRACK_BOTH_RESOURCES) && spellInfo->HasAura(SPELL_AURA_TRACK_RESOURCES))
+ {
+ Unit::AuraEffectList const& auraEffects = _player->GetAuraEffectsByType(SPELL_AURA_TRACK_RESOURCES);
+ if (!auraEffects.empty())
+ {
+ // Build list of spell IDs to cancel. Trying to cancel the aura while iterating
+ // over AuraEffectList caused "incompatible iterator" errors on second pass
+ std::list<uint32> spellIDs;
+
+ for (Unit::AuraEffectList::const_iterator auraEffect = auraEffects.begin(); auraEffect != auraEffects.end(); auraEffect++)
+ spellIDs.push_back((*auraEffect)->GetId());
+
+ // Remove all auras related to resource tracking (only Herbs and Minerals in 3.3.5a)
+ for (std::list<uint32>::iterator it = spellIDs.begin(); it != spellIDs.end(); it++)
+ _player->RemoveOwnedAura(*it, 0, 0, AURA_REMOVE_BY_CANCEL);
+ }
+ }
}
void WorldSession::HandlePetCancelAuraOpcode(WorldPacket& recvPacket)
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp
index 46e1352df3f..ec149c34431 100644
--- a/src/server/game/Instances/InstanceScript.cpp
+++ b/src/server/game/Instances/InstanceScript.cpp
@@ -43,16 +43,6 @@ void InstanceScript::SaveToDB()
CharacterDatabase.Execute(stmt);
}
-void InstanceScript::HandleGameObject(uint64 GUID, bool open, GameObject* go)
-{
- if (!go)
- go = instance->GetGameObject(GUID);
- if (go)
- go->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
- else
- TC_LOG_DEBUG("scripts", "InstanceScript: HandleGameObject failed");
-}
-
bool InstanceScript::IsEncounterInProgress() const
{
for (std::vector<BossInfo>::const_iterator itr = bosses.begin(); itr != bosses.end(); ++itr)
@@ -62,6 +52,13 @@ bool InstanceScript::IsEncounterInProgress() const
return false;
}
+void InstanceScript::SetHeaders(std::string const& dataHeaders)
+{
+ for (char header : dataHeaders)
+ if (isalpha(header))
+ headers.push_back(header);
+}
+
void InstanceScript::LoadMinionData(const MinionData* data)
{
while (data->entry)
@@ -232,65 +229,140 @@ bool InstanceScript::SetBossState(uint32 id, EncounterState state)
return false;
}
-std::string InstanceScript::LoadBossState(const char * data)
+void InstanceScript::Load(char const* data)
{
if (!data)
- return NULL;
+ {
+ OUT_LOAD_INST_DATA_FAIL;
+ return;
+ }
+
+ OUT_LOAD_INST_DATA(data);
+
std::istringstream loadStream(data);
- uint32 buff;
+
+ if (ReadSaveDataHeaders(loadStream))
+ {
+ ReadSaveDataBossStates(loadStream);
+ ReadSaveDataMore(loadStream);
+ }
+ else
+ OUT_LOAD_INST_DATA_FAIL;
+
+ OUT_LOAD_INST_DATA_COMPLETE;
+}
+
+bool InstanceScript::ReadSaveDataHeaders(std::istringstream& data)
+{
+ for (char header : headers)
+ {
+ char buff;
+ data >> buff;
+
+ if (header != buff)
+ return false;
+ }
+
+ return true;
+}
+
+void InstanceScript::ReadSaveDataBossStates(std::istringstream& data)
+{
uint32 bossId = 0;
for (std::vector<BossInfo>::iterator i = bosses.begin(); i != bosses.end(); ++i, ++bossId)
{
- loadStream >> buff;
+ uint32 buff;
+ data >> buff;
+ if (buff == IN_PROGRESS || buff == SPECIAL)
+ buff = NOT_STARTED;
+
if (buff < TO_BE_DECIDED)
- SetBossState(bossId, (EncounterState)buff);
+ SetBossState(bossId, EncounterState(buff));
}
- return loadStream.str();
}
-std::string InstanceScript::GetBossSaveData()
+std::string InstanceScript::GetSaveData()
{
+ OUT_SAVE_INST_DATA;
+
std::ostringstream saveStream;
- for (std::vector<BossInfo>::iterator i = bosses.begin(); i != bosses.end(); ++i)
- saveStream << (uint32)i->state << ' ';
+
+ WriteSaveDataHeaders(saveStream);
+ WriteSaveDataBossStates(saveStream);
+ WriteSaveDataMore(saveStream);
+
+ OUT_SAVE_INST_DATA_COMPLETE;
+
return saveStream.str();
}
-void InstanceScript::DoUseDoorOrButton(uint64 uiGuid, uint32 uiWithRestoreTime, bool bUseAlternativeState)
+void InstanceScript::WriteSaveDataHeaders(std::ostringstream& data)
{
- if (!uiGuid)
- return;
+ for (char header : headers)
+ data << header << ' ';
+}
- GameObject* go = instance->GetGameObject(uiGuid);
+void InstanceScript::WriteSaveDataBossStates(std::ostringstream& data)
+{
+ for (BossInfo const& bossInfo : bosses)
+ data << uint32(bossInfo.state) << ' ';
+}
+void InstanceScript::HandleGameObject(uint64 guid, bool open, GameObject* go /*= nullptr*/)
+{
+ if (!go)
+ go = instance->GetGameObject(guid);
if (go)
+ go->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
+ else
+ TC_LOG_DEBUG("scripts", "InstanceScript: HandleGameObject failed");
+}
+
+void InstanceScript::DoUseDoorOrButton(uint64 guid, uint32 withRestoreTime /*= 0*/, bool useAlternativeState /*= false*/)
+{
+ if (!guid)
+ return;
+
+ if (GameObject* go = instance->GetGameObject(guid))
{
if (go->GetGoType() == GAMEOBJECT_TYPE_DOOR || go->GetGoType() == GAMEOBJECT_TYPE_BUTTON)
{
if (go->getLootState() == GO_READY)
- go->UseDoorOrButton(uiWithRestoreTime, bUseAlternativeState);
+ go->UseDoorOrButton(withRestoreTime, useAlternativeState);
else if (go->getLootState() == GO_ACTIVATED)
go->ResetDoorOrButton();
}
else
- TC_LOG_ERROR("misc", "SD2: Script call DoUseDoorOrButton, but gameobject entry %u is type %u.", go->GetEntry(), go->GetGoType());
+ TC_LOG_ERROR("scripts", "InstanceScript: DoUseDoorOrButton can't use gameobject entry %u, because type is %u.", go->GetEntry(), go->GetGoType());
}
+ else
+ TC_LOG_DEBUG("scripts", "InstanceScript: HandleGameObject failed");
}
-void InstanceScript::DoRespawnGameObject(uint64 uiGuid, uint32 uiTimeToDespawn)
+void InstanceScript::DoRespawnGameObject(uint64 guid, uint32 timeToDespawn /*= MINUTE*/)
{
- if (GameObject* go = instance->GetGameObject(uiGuid))
+ if (GameObject* go = instance->GetGameObject(guid))
{
- //not expect any of these should ever be handled
- if (go->GetGoType() == GAMEOBJECT_TYPE_FISHINGNODE || go->GetGoType() == GAMEOBJECT_TYPE_DOOR ||
- go->GetGoType() == GAMEOBJECT_TYPE_BUTTON || go->GetGoType() == GAMEOBJECT_TYPE_TRAP)
- return;
+ switch (go->GetGoType())
+ {
+ case GAMEOBJECT_TYPE_DOOR:
+ case GAMEOBJECT_TYPE_BUTTON:
+ case GAMEOBJECT_TYPE_TRAP:
+ case GAMEOBJECT_TYPE_FISHINGNODE:
+ // not expect any of these should ever be handled
+ TC_LOG_ERROR("scripts", "InstanceScript: DoRespawnGameObject can't respawn gameobject entry %u, because type is %u.", go->GetEntry(), go->GetGoType());
+ return;
+ default:
+ break;
+ }
if (go->isSpawned())
return;
- go->SetRespawnTime(uiTimeToDespawn);
+ go->SetRespawnTime(timeToDespawn);
}
+ else
+ TC_LOG_DEBUG("scripts", "InstanceScript: DoRespawnGameObject failed");
}
void InstanceScript::DoUpdateWorldState(uint32 uiStateId, uint32 uiStateData)
diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h
index 7e9be651e61..5451849506e 100644
--- a/src/server/game/Instances/InstanceScript.h
+++ b/src/server/game/Instances/InstanceScript.h
@@ -140,38 +140,38 @@ class InstanceScript : public ZoneScript
Map* instance;
- //On creation, NOT load.
+ // On creation, NOT load.
virtual void Initialize() { }
- //On load
- virtual void Load(char const* data) { LoadBossState(data); }
+ // On load
+ virtual void Load(char const* data);
- //When save is needed, this function generates the data
- virtual std::string GetSaveData() { return GetBossSaveData(); }
+ // When save is needed, this function generates the data
+ virtual std::string GetSaveData();
void SaveToDB();
virtual void Update(uint32 /*diff*/) { }
- //Used by the map's CanEnter function.
- //This is to prevent players from entering during boss encounters.
+ // Used by the map's CanEnter function.
+ // This is to prevent players from entering during boss encounters.
virtual bool IsEncounterInProgress() const;
- //Called when a player successfully enters the instance.
+ // Called when a player successfully enters the instance.
virtual void OnPlayerEnter(Player* /*player*/) { }
- //Handle open / close objects
- //use HandleGameObject(0, boolen, GO); in OnObjectCreate in instance scripts
- //use HandleGameObject(GUID, boolen, NULL); in any other script
- void HandleGameObject(uint64 guid, bool open, GameObject* go = NULL);
+ // Handle open / close objects
+ // * use HandleGameObject(0, boolen, GO); in OnObjectCreate in instance scripts
+ // * use HandleGameObject(GUID, boolen, NULL); in any other script
+ void HandleGameObject(uint64 guid, bool open, GameObject* go = nullptr);
- //change active state of doors or buttons
+ // Change active state of doors or buttons
void DoUseDoorOrButton(uint64 guid, uint32 withRestoreTime = 0, bool useAlternativeState = false);
- //Respawns a GO having negative spawntimesecs in gameobject-table
+ // Respawns a GO having negative spawntimesecs in gameobject-table
void DoRespawnGameObject(uint64 guid, uint32 timeToDespawn = MINUTE);
- //sends world state update to all players in instance
+ // Sends world state update to all players in instance
void DoUpdateWorldState(uint32 worldstateId, uint32 worldstateValue);
// Send Notify to all players in instance
@@ -221,6 +221,7 @@ class InstanceScript : public ZoneScript
void UpdatePhasing();
protected:
+ void SetHeaders(std::string const& dataHeaders);
void SetBossNumber(uint32 number) { bosses.resize(number); }
void LoadDoorData(DoorData const* data);
void LoadMinionData(MinionData const* data);
@@ -231,9 +232,16 @@ class InstanceScript : public ZoneScript
void UpdateDoorState(GameObject* door);
void UpdateMinionState(Creature* minion, EncounterState state);
- std::string LoadBossState(char const* data);
- std::string GetBossSaveData();
+ // Instance Load and Save
+ bool ReadSaveDataHeaders(std::istringstream& data);
+ void ReadSaveDataBossStates(std::istringstream& data);
+ virtual void ReadSaveDataMore(std::istringstream& /*data*/) { }
+ void WriteSaveDataHeaders(std::ostringstream& data);
+ void WriteSaveDataBossStates(std::ostringstream& data);
+ virtual void WriteSaveDataMore(std::ostringstream& /*data*/) { }
+
private:
+ std::vector<char> headers;
std::vector<BossInfo> bosses;
DoorInfoMap doors;
MinionInfoMap minions;
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index 57fa39b8d8c..c8106952488 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -412,8 +412,8 @@ enum TrinityStrings
LANG_BANINFO_HISTORYENTRY = 418,
LANG_BANINFO_INFINITE = 419,
LANG_BANINFO_NEVER = 420,
- LANG_BANINFO_YES = 421,
- LANG_BANINFO_NO = 422,
+ LANG_YES = 421,
+ LANG_NO = 422,
LANG_BANINFO_IPENTRY = 423,
LANG_BANLIST_NOIP = 424,
@@ -1024,7 +1024,7 @@ enum TrinityStrings
LANG_BG_AV_START_TWO_MINUTES = 1333,
// FREE IDS 1334-1999
- // Ticket Strings 2000-2029
+ // Ticket Strings 2000-2030
LANG_COMMAND_TICKETNEW = 2000,
LANG_COMMAND_TICKETUPDATED = 2001,
LANG_COMMAND_TICKETPLAYERABANDON = 2002,
@@ -1055,6 +1055,7 @@ enum TrinityStrings
LANG_COMMAND_TICKETPENDING = 2027,
LANG_COMMAND_TICKETRESET = 2028,
LANG_COMMAND_TICKETLISTRESPONSE = 2029,
+ LANG_COMMAND_TICKETCOMPLETED = 2030,
// Trinity strings 5000-9999
LANG_COMMAND_FREEZE = 5000,
@@ -1088,16 +1089,37 @@ enum TrinityStrings
LANG_GOINFO_NAME = 5027,
LANG_GOINFO_LOOTID = 5028,
LANG_COMMAND_LOOKUP_MAX_RESULTS = 5029,
- // unused = 5030,
+ LANG_UNAUTHORIZED = 5030,
LANG_NPCINFO_AIINFO = 5031,
LANG_COMMAND_NO_BATTLEGROUND_FOUND = 5032,
LANG_COMMAND_NO_ACHIEVEMENT_CRITERIA_FOUND = 5033,
LANG_COMMAND_NO_OUTDOOR_PVP_FORUND = 5034,
- // unused = 5035,
+ LANG_NO_REASON = 5035,
LANG_NPCINFO_EQUIPMENT = 5036,
LANG_NPCINFO_MECHANIC_IMMUNE = 5037,
LANG_NPCINFO_UNIT_FIELD_FLAGS = 5038,
- // Room for more Trinity strings 5039-9999
+ LANG_CONSOLE = 5039,
+ LANG_CHARACTER = 5040,
+ LANG_PERMANENTLY = 5041,
+ LANG_GPS_POSITION_OUTDOORS = 5042,
+ LANG_GPS_POSITION_INDOORS = 5043,
+ LANG_GPS_NO_VMAP = 5044,
+
+ // Instance commands
+ LANG_COMMAND_LIST_BIND_INFO = 5045,
+ LANG_COMMAND_LIST_BIND_PLAYER_BINDS = 5046,
+ LANG_COMMAND_LIST_BIND_GROUP_BINDS = 5047,
+ LANG_COMMAND_INST_UNBIND_UNBINDING = 5048,
+ LANG_COMMAND_INST_UNBIND_UNBOUND = 5049,
+ LANG_COMMAND_INST_STAT_LOADED_INST = 5050,
+ LANG_COMMAND_INST_STAT_PLAYERS_IN = 5051,
+ LANG_COMMAND_INST_STAT_SAVES = 5052,
+ LANG_COMMAND_INST_STAT_PLAYERSBOUND = 5053,
+ LANG_COMMAND_INST_STAT_GROUPSBOUND = 5054,
+ LANG_NOT_DUNGEON = 5055, // Map is not a dungeon.
+ LANG_NO_INSTANCE_DATA = 5056, // Map has no instance data.
+
+ // Room for more Trinity strings 5057-9999
// Level requirement notifications
LANG_SAY_REQ = 6604,
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 3359d287b21..dadca633401 100644
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -35,6 +35,7 @@
#include "ScriptMgr.h"
#include "SpellScript.h"
#include "Vehicle.h"
+#include "Config.h"
AuraApplication::AuraApplication(Unit* target, Unit* caster, Aura* aura, uint8 effMask):
_target(target), _base(aura), _removeMode(AURA_REMOVE_NONE), _slot(MAX_AURAS),
@@ -1613,6 +1614,15 @@ bool Aura::CanStackWith(Aura const* existingAura) const
return true;
}
+ // Check for custom server setting to allow tracking both Herbs and Minerals
+ // Note: The following are client limitations and cannot be coded for:
+ // * The minimap tracking icon will display whichever skill is activated second
+ // * The minimap tracking list will only show a check mark next to the last skill activated
+ // Sometimes this bugs out and doesn't switch the check mark. It has no effect on the actual tracking though.
+ // * The minimap dots are yellow for both resources
+ if (m_spellInfo->HasAura(SPELL_AURA_TRACK_RESOURCES) && existingSpellInfo->HasAura(SPELL_AURA_TRACK_RESOURCES))
+ return sWorld->getBoolConfig(CONFIG_ALLOW_TRACK_BOTH_RESOURCES);
+
// check spell specific stack rules
if (m_spellInfo->IsAuraExclusiveBySpecificWith(existingSpellInfo)
|| (sameCaster && m_spellInfo->IsAuraExclusiveBySpecificPerCasterWith(existingSpellInfo)))
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 47556478465..9ff644a7616 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -6485,7 +6485,7 @@ bool Spell::CheckEffectTarget(Unit const* target, uint32 eff, Position const* lo
// check for ignore LOS on the effect itself
if (m_spellInfo->AttributesEx2 & SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS || DisableMgr::IsDisabledFor(DISABLE_TYPE_SPELL, m_spellInfo->Id, NULL, SPELL_DISABLE_LOS))
return true;
-
+
// if spell is triggered, need to check for LOS disable on the aura triggering it and inherit that behaviour
if (IsTriggered() && m_triggeredByAuraSpell && (m_triggeredByAuraSpell->AttributesEx2 & SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS || DisableMgr::IsDisabledFor(DISABLE_TYPE_SPELL, m_triggeredByAuraSpell->Id, NULL, SPELL_DISABLE_LOS)))
return true;
diff --git a/src/server/game/Tickets/TicketMgr.cpp b/src/server/game/Tickets/TicketMgr.cpp
index c6b1da46e6b..566033fb700 100644
--- a/src/server/game/Tickets/TicketMgr.cpp
+++ b/src/server/game/Tickets/TicketMgr.cpp
@@ -184,7 +184,7 @@ std::string GmTicket::FormatMessageString(ChatHandler& handler, bool detailed) c
return ss.str();
}
-std::string GmTicket::FormatMessageString(ChatHandler& handler, const char* szClosedName, const char* szAssignedToName, const char* szUnassignedName, const char* szDeletedName) const
+std::string GmTicket::FormatMessageString(ChatHandler& handler, const char* szClosedName, const char* szAssignedToName, const char* szUnassignedName, const char* szDeletedName, const char* szCompletedName) const
{
std::stringstream ss;
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTGUID, _id);
@@ -197,6 +197,8 @@ std::string GmTicket::FormatMessageString(ChatHandler& handler, const char* szCl
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTUNASSIGNED, szUnassignedName);
if (szDeletedName)
ss << handler.PGetParseString(LANG_COMMAND_TICKETDELETED, szDeletedName);
+ if (szCompletedName)
+ ss << handler.PGetParseString(LANG_COMMAND_TICKETCOMPLETED, szCompletedName);
return ss.str();
}
diff --git a/src/server/game/Tickets/TicketMgr.h b/src/server/game/Tickets/TicketMgr.h
index 5ad44365e7f..8b1c8fbc0f9 100644
--- a/src/server/game/Tickets/TicketMgr.h
+++ b/src/server/game/Tickets/TicketMgr.h
@@ -142,7 +142,7 @@ public:
void TeleportTo(Player* player) const;
std::string FormatMessageString(ChatHandler& handler, bool detailed = false) const;
- std::string FormatMessageString(ChatHandler& handler, const char* szClosedName, const char* szAssignedToName, const char* szUnassignedName, const char* szDeletedName) const;
+ std::string FormatMessageString(ChatHandler& handler, const char* szClosedName, const char* szAssignedToName, const char* szUnassignedName, const char* szDeletedName, const char* szCompletedName) const;
void SetChatLog(std::list<uint32> time, std::string const& log);
std::string const& GetChatLog() const { return _chatLog; }
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index ab8a1acc5f4..0f896ecff5c 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1204,6 +1204,7 @@ void World::LoadConfigSettings(bool reload)
if (m_int_configs[CONFIG_PVP_TOKEN_COUNT] < 1)
m_int_configs[CONFIG_PVP_TOKEN_COUNT] = 1;
+ m_bool_configs[CONFIG_ALLOW_TRACK_BOTH_RESOURCES] = sConfigMgr->GetBoolDefault("AllowTrackBothResources", false);
m_bool_configs[CONFIG_NO_RESET_TALENT_COST] = sConfigMgr->GetBoolDefault("NoResetTalentsCost", false);
m_bool_configs[CONFIG_SHOW_KICK_IN_WORLD] = sConfigMgr->GetBoolDefault("ShowKickInWorld", false);
m_bool_configs[CONFIG_SHOW_MUTE_IN_WORLD] = sConfigMgr->GetBoolDefault("ShowMuteInWorld", false);
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index 6523ade972a..e38f6bc47ff 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -164,6 +164,7 @@ enum WorldBoolConfigs
CONFIG_STATS_LIMITS_ENABLE,
CONFIG_INSTANCES_RESET_ANNOUNCE,
CONFIG_IP_BASED_ACTION_LOGGING,
+ CONFIG_ALLOW_TRACK_BOTH_RESOURCES,
BOOL_CONFIG_VALUE_COUNT
};
diff --git a/src/server/scripts/Commands/cs_ban.cpp b/src/server/scripts/Commands/cs_ban.cpp
index 121da6489a3..880cf1eac1f 100644
--- a/src/server/scripts/Commands/cs_ban.cpp
+++ b/src/server/scripts/Commands/cs_ban.cpp
@@ -287,7 +287,7 @@ public:
bool permanent = (fields[1].GetUInt64() == uint64(0));
std::string banTime = permanent ? handler->GetTrinityString(LANG_BANINFO_INFINITE) : secsToTimeString(fields[1].GetUInt64(), true);
handler->PSendSysMessage(LANG_BANINFO_HISTORYENTRY,
- fields[0].GetCString(), banTime.c_str(), active ? handler->GetTrinityString(LANG_BANINFO_YES) : handler->GetTrinityString(LANG_BANINFO_NO), fields[4].GetCString(), fields[5].GetCString());
+ fields[0].GetCString(), banTime.c_str(), active ? handler->GetTrinityString(LANG_YES) : handler->GetTrinityString(LANG_NO), fields[4].GetCString(), fields[5].GetCString());
}
while (result->NextRow());
@@ -340,7 +340,7 @@ public:
bool permanent = (fields[1].GetUInt32() == uint32(0));
std::string banTime = permanent ? handler->GetTrinityString(LANG_BANINFO_INFINITE) : secsToTimeString(fields[1].GetUInt32(), true);
handler->PSendSysMessage(LANG_BANINFO_HISTORYENTRY,
- fields[0].GetCString(), banTime.c_str(), active ? handler->GetTrinityString(LANG_BANINFO_YES) : handler->GetTrinityString(LANG_BANINFO_NO), fields[4].GetCString(), fields[5].GetCString());
+ fields[0].GetCString(), banTime.c_str(), active ? handler->GetTrinityString(LANG_YES) : handler->GetTrinityString(LANG_NO), fields[4].GetCString(), fields[5].GetCString());
}
while (result->NextRow());
diff --git a/src/server/scripts/Commands/cs_instance.cpp b/src/server/scripts/Commands/cs_instance.cpp
index b8d69c250bb..464d58ad908 100644
--- a/src/server/scripts/Commands/cs_instance.cpp
+++ b/src/server/scripts/Commands/cs_instance.cpp
@@ -29,6 +29,7 @@ EndScriptData */
#include "InstanceScript.h"
#include "MapManager.h"
#include "Player.h"
+#include "Language.h"
class instance_commandscript : public CommandScript
{
@@ -81,11 +82,11 @@ public:
{
InstanceSave* save = itr->second.save;
std::string timeleft = GetTimeString(save->GetResetTime() - time(NULL));
- handler->PSendSysMessage("map: %d inst: %d perm: %s diff: %d canReset: %s TTR: %s", itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str());
+ handler->PSendSysMessage(LANG_COMMAND_LIST_BIND_INFO, itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str());
counter++;
}
}
- handler->PSendSysMessage("player binds: %d", counter);
+ handler->PSendSysMessage(LANG_COMMAND_LIST_BIND_PLAYER_BINDS, counter);
counter = 0;
if (Group* group = player->GetGroup())
@@ -97,12 +98,12 @@ public:
{
InstanceSave* save = itr->second.save;
std::string timeleft = GetTimeString(save->GetResetTime() - time(NULL));
- handler->PSendSysMessage("map: %d inst: %d perm: %s diff: %d canReset: %s TTR: %s", itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str());
+ handler->PSendSysMessage(LANG_COMMAND_LIST_BIND_INFO, itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str());
counter++;
}
}
}
- handler->PSendSysMessage("group binds: %d", counter);
+ handler->PSendSysMessage(LANG_COMMAND_LIST_BIND_GROUP_BINDS, counter);
return true;
}
@@ -140,7 +141,7 @@ public:
if (itr->first != player->GetMapId() && (!MapId || MapId == itr->first) && (diff == -1 || diff == save->GetDifficulty()))
{
std::string timeleft = GetTimeString(save->GetResetTime() - time(NULL));
- handler->PSendSysMessage("unbinding map: %d inst: %d perm: %s diff: %d canReset: %s TTR: %s", itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str());
+ handler->PSendSysMessage(LANG_COMMAND_INST_UNBIND_UNBINDING, itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str());
player->UnbindInstance(itr, Difficulty(i));
counter++;
}
@@ -148,18 +149,18 @@ public:
++itr;
}
}
- handler->PSendSysMessage("instances unbound: %d", counter);
+ handler->PSendSysMessage(LANG_COMMAND_INST_UNBIND_UNBOUND, counter);
return true;
}
static bool HandleInstanceStatsCommand(ChatHandler* handler, char const* /*args*/)
{
- handler->PSendSysMessage("instances loaded: %d", sMapMgr->GetNumInstances());
- handler->PSendSysMessage("players in instances: %d", sMapMgr->GetNumPlayersInInstances());
- handler->PSendSysMessage("instance saves: %d", sInstanceSaveMgr->GetNumInstanceSaves());
- handler->PSendSysMessage("players bound: %d", sInstanceSaveMgr->GetNumBoundPlayersTotal());
- handler->PSendSysMessage("groups bound: %d", sInstanceSaveMgr->GetNumBoundGroupsTotal());
+ handler->PSendSysMessage(LANG_COMMAND_INST_STAT_LOADED_INST, sMapMgr->GetNumInstances());
+ handler->PSendSysMessage(LANG_COMMAND_INST_STAT_PLAYERS_IN, sMapMgr->GetNumPlayersInInstances());
+ handler->PSendSysMessage(LANG_COMMAND_INST_STAT_SAVES, sInstanceSaveMgr->GetNumInstanceSaves());
+ handler->PSendSysMessage(LANG_COMMAND_INST_STAT_PLAYERSBOUND, sInstanceSaveMgr->GetNumBoundPlayersTotal());
+ handler->PSendSysMessage(LANG_COMMAND_INST_STAT_GROUPSBOUND, sInstanceSaveMgr->GetNumBoundGroupsTotal());
return true;
}
@@ -170,14 +171,14 @@ public:
Map* map = player->GetMap();
if (!map->IsDungeon())
{
- handler->PSendSysMessage("Map is not a dungeon.");
+ handler->PSendSysMessage(LANG_NOT_DUNGEON);
handler->SetSentErrorMessage(true);
return false;
}
if (!((InstanceMap*)map)->GetInstanceScript())
{
- handler->PSendSysMessage("Map has no instance data.");
+ handler->PSendSysMessage(LANG_NO_INSTANCE_DATA);
handler->SetSentErrorMessage(true);
return false;
}
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index 9e134a2c9d8..5e8f159a8e1 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -191,17 +191,17 @@ public:
if (haveVMap)
{
if (map->IsOutdoors(object->GetPositionX(), object->GetPositionY(), object->GetPositionZ()))
- handler->PSendSysMessage("You are outdoors");
+ handler->PSendSysMessage(LANG_GPS_POSITION_OUTDOORS);
else
- handler->PSendSysMessage("You are indoors");
+ handler->PSendSysMessage(LANG_GPS_POSITION_INDOORS);
}
else
- handler->PSendSysMessage("no VMAP available for area info");
+ handler->PSendSysMessage(LANG_GPS_NO_VMAP);
handler->PSendSysMessage(LANG_MAP_POSITION,
- mapId, (mapEntry ? mapEntry->name : "<unknown>"),
- zoneId, (zoneEntry ? zoneEntry->area_name : "<unknown>"),
- areaId, (areaEntry ? areaEntry->area_name : "<unknown>"),
+ mapId, (mapEntry ? mapEntry->name : handler->GetTrinityString(LANG_UNKNOWN)),
+ zoneId, (zoneEntry ? zoneEntry->area_name : handler->GetTrinityString(LANG_UNKNOWN)),
+ areaId, (areaEntry ? areaEntry->area_name : handler->GetTrinityString(LANG_UNKNOWN)),
object->GetPhaseMask(),
object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), object->GetOrientation(),
cell.GridX(), cell.GridY(), cell.CellX(), cell.CellY(), object->GetInstanceId(),
@@ -809,7 +809,7 @@ public:
if (handler->HasLowerSecurity(target, 0))
return false;
- std::string kickReasonStr = "No reason";
+ std::string kickReasonStr = handler->GetTrinityString(LANG_NO_REASON);
if (*args != '\0')
{
char const* kickReason = strtok(NULL, "\r");
@@ -1442,22 +1442,22 @@ public:
std::string lastLogin = handler->GetTrinityString(LANG_ERROR);
uint32 failedLogins = 0;
uint32 latency = 0;
- std::string OS = "None";
+ std::string OS = handler->GetTrinityString(LANG_UNKNOWN);
// Mute data print variables
int64 muteTime = -1;
- std::string muteReason = "unknown";
- std::string muteBy = "unknown";
+ std::string muteReason = handler->GetTrinityString(LANG_NO_REASON);
+ std::string muteBy = handler->GetTrinityString(LANG_UNKNOWN);
// Ban data print variables
int64 banTime = -1;
- std::string banType = "None";
- std::string banReason = "Unknown";
- std::string bannedBy = "Unknown";
+ std::string banType = handler->GetTrinityString(LANG_UNKNOWN);
+ std::string banReason = handler->GetTrinityString(LANG_NO_REASON);
+ std::string bannedBy = handler->GetTrinityString(LANG_UNKNOWN);
// Character data print variables
uint8 raceid, classid = 0; //RACE_NONE, CLASS_NONE
- std::string raceStr, classStr = "None";
+ std::string raceStr, classStr = handler->GetTrinityString(LANG_UNKNOWN);
uint8 gender = 0;
int8 locale = handler->GetSessionDbcLocale();
uint32 totalPlayerTime = 0;
@@ -1471,8 +1471,8 @@ public:
uint32 mapId;
uint32 areaId;
uint32 phase = 0;
- std::string areaName = "<unknown>";
- std::string zoneName = "<unknown>";
+ std::string areaName = handler->GetTrinityString(LANG_UNKNOWN);
+ std::string zoneName = handler->GetTrinityString(LANG_UNKNOWN);
// Guild data print variables defined so that they exist, but are not necessarily used
uint32 guildId = 0;
@@ -1500,7 +1500,7 @@ public:
muteTime = target->GetSession()->m_muteTime;
mapId = target->GetMapId();
areaId = target->GetAreaId();
- alive = target->IsAlive() ? "Yes" : "No";
+ alive = target->IsAlive() ? handler->GetTrinityString(LANG_YES) : handler->GetTrinityString(LANG_NO);
gender = target->getGender();
phase = target->GetPhaseMask();
}
@@ -1533,9 +1533,9 @@ public:
uint32 playerFlags = fields[10].GetUInt32();
if (!health || playerFlags & PLAYER_FLAGS_GHOST)
- alive = "No";
+ alive = handler->GetTrinityString(LANG_NO);
else
- alive = "Yes";
+ alive = handler->GetTrinityString(LANG_YES);
}
// Query the prepared statement for login data
@@ -1575,9 +1575,10 @@ public:
}
else
{
- eMail = "Unauthorized";
- lastIp = "Unauthorized";
- lastLogin = "Unauthorized";
+ eMail = handler->GetTrinityString(LANG_UNAUTHORIZED);
+ regMail = handler->GetTrinityString(LANG_UNAUTHORIZED);
+ lastIp = handler->GetTrinityString(LANG_UNAUTHORIZED);
+ lastLogin = handler->GetTrinityString(LANG_UNAUTHORIZED);
}
muteTime = fields[6].GetUInt64();
muteReason = fields[7].GetString();
@@ -1596,7 +1597,7 @@ public:
PreparedQueryResult result2 = LoginDatabase.Query(stmt2);
if (!result2)
{
- banType = "Character";
+ banType = handler->GetTrinityString(LANG_CHARACTER);
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PINFO_BANS);
stmt->setUInt32(0, lowguid);
result2 = CharacterDatabase.Query(stmt);
@@ -1653,7 +1654,7 @@ public:
// Output III. LANG_PINFO_BANNED if ban exists and is applied
if (banTime >= 0)
- handler->PSendSysMessage(LANG_PINFO_BANNED, banType.c_str(), banReason.c_str(), banTime > 0 ? secsToTimeString(banTime - time(NULL), true).c_str() : "permanently", bannedBy.c_str());
+ handler->PSendSysMessage(LANG_PINFO_BANNED, banType.c_str(), banReason.c_str(), banTime > 0 ? secsToTimeString(banTime - time(NULL), true).c_str() : handler->GetTrinityString(LANG_PERMANENTLY), bannedBy.c_str());
// Output IV. LANG_PINFO_MUTED if mute is applied
if (muteTime > 0)
@@ -1672,7 +1673,7 @@ public:
handler->PSendSysMessage(LANG_PINFO_ACC_REGMAILS, regMail.c_str(), eMail.c_str());
// Output IX. LANG_PINFO_ACC_IP
- handler->PSendSysMessage(LANG_PINFO_ACC_IP, lastIp.c_str(), locked ? "Yes" : "No");
+ handler->PSendSysMessage(LANG_PINFO_ACC_IP, lastIp.c_str(), locked ? handler->GetTrinityString(LANG_YES) : handler->GetTrinityString(LANG_NO));
// Output X. LANG_PINFO_CHR_LEVEL
if (level != sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL))
@@ -1711,7 +1712,7 @@ public:
}
if (target)
- handler->PSendSysMessage(LANG_PINFO_CHR_MAP, map->name, (!zoneName.empty() ? zoneName.c_str() : "<Unknown>"), (!areaName.empty() ? areaName.c_str() : "<Unknown>"));
+ handler->PSendSysMessage(LANG_PINFO_CHR_MAP, map->name, (!zoneName.empty() ? zoneName.c_str() : handler->GetTrinityString(LANG_UNKNOWN)), (!areaName.empty() ? areaName.c_str() : handler->GetTrinityString(LANG_UNKNOWN)));
// Output XVII. - XVIX. if they are not empty
if (!guildName.empty())
@@ -1791,7 +1792,7 @@ public:
return false;
char const* muteReason = strtok(NULL, "\r");
- std::string muteReasonStr = "No reason";
+ std::string muteReasonStr = handler->GetTrinityString(LANG_NO_REASON);
if (muteReason != NULL)
muteReasonStr = muteReason;
@@ -1819,7 +1820,7 @@ public:
if (handler->GetSession())
muteBy = handler->GetSession()->GetPlayerName();
else
- muteBy = "Console";
+ muteBy = handler->GetTrinityString(LANG_CONSOLE);
if (target)
{
diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp
index 14a68d1fdae..f828b66a93a 100644
--- a/src/server/scripts/Commands/cs_server.cpp
+++ b/src/server/scripts/Commands/cs_server.cpp
@@ -316,6 +316,9 @@ private:
if (!*args)
return false;
+ if (strlen(args) > 255)
+ return false;
+
// #delay [#exit_code] [reason]
char* delayStr = strtok((char*)args, " ");
if (!delayStr || !isNumeric(delayStr))
@@ -323,10 +326,7 @@ private:
char* exitCodeStr = nullptr;
- if (strlen(args) > 255)
- return false;
-
- char reason[255] = { 0 };
+ char reason[256] = { 0 };
while (char* nextToken = strtok(nullptr, " "))
{
@@ -335,8 +335,11 @@ private:
else
{
strcat(reason, nextToken);
- strcat(reason, " ");
- strcat(reason, strtok(nullptr, "\0"));
+ if (char* remainingTokens = strtok(nullptr, "\0"))
+ {
+ strcat(reason, " ");
+ strcat(reason, remainingTokens);
+ }
break;
}
}
diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp
index a2f1c75106b..cbf0ae51a82 100644
--- a/src/server/scripts/Commands/cs_ticket.cpp
+++ b/src/server/scripts/Commands/cs_ticket.cpp
@@ -126,7 +126,7 @@ public:
ticket->SaveToDB(trans);
sTicketMgr->UpdateLastChange();
- std::string msg = ticket->FormatMessageString(*handler, NULL, target.c_str(), NULL, NULL);
+ std::string msg = ticket->FormatMessageString(*handler, NULL, target.c_str(), NULL, NULL, NULL);
handler->SendGlobalGMSysMessage(msg.c_str());
return true;
}
@@ -156,7 +156,7 @@ public:
sTicketMgr->CloseTicket(ticket->GetId(), player ? player->GetGUID() : -1);
sTicketMgr->UpdateLastChange();
- std::string msg = ticket->FormatMessageString(*handler, player ? player->GetName().c_str() : "Console", NULL, NULL, NULL);
+ std::string msg = ticket->FormatMessageString(*handler, player ? player->GetName().c_str() : "Console", NULL, NULL, NULL, NULL);
handler->SendGlobalGMSysMessage(msg.c_str());
// Inform player, who submitted this ticket, that it is closed
@@ -205,7 +205,7 @@ public:
ticket->SaveToDB(trans);
sTicketMgr->UpdateLastChange();
- std::string msg = ticket->FormatMessageString(*handler, NULL, ticket->GetAssignedToName().c_str(), NULL, NULL);
+ std::string msg = ticket->FormatMessageString(*handler, NULL, ticket->GetAssignedToName().c_str(), NULL, NULL, NULL);
msg += handler->PGetParseString(LANG_COMMAND_TICKETLISTADDCOMMENT, player ? player->GetName().c_str() : "Console", comment);
handler->SendGlobalGMSysMessage(msg.c_str());
@@ -239,6 +239,9 @@ public:
ticket->SetCompleted();
ticket->SaveToDB(trans);
+ std::string msg = ticket->FormatMessageString(*handler, NULL, NULL,
+ NULL, NULL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetName().c_str() : "Console");
+ handler->SendGlobalGMSysMessage(msg.c_str());
sTicketMgr->UpdateLastChange();
return true;
}
@@ -262,7 +265,7 @@ public:
return true;
}
- std::string msg = ticket->FormatMessageString(*handler, NULL, NULL, NULL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetName().c_str() : "Console");
+ std::string msg = ticket->FormatMessageString(*handler, NULL, NULL, NULL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetName().c_str() : "Console", NULL);
handler->SendGlobalGMSysMessage(msg.c_str());
sTicketMgr->RemoveTicket(ticket->GetId());
@@ -394,7 +397,7 @@ public:
sTicketMgr->UpdateLastChange();
std::string msg = ticket->FormatMessageString(*handler, NULL, assignedTo.c_str(),
- handler->GetSession() ? handler->GetSession()->GetPlayer()->GetName().c_str() : "Console", NULL);
+ handler->GetSession() ? handler->GetSession()->GetPlayer()->GetName().c_str() : "Console", NULL, NULL);
handler->SendGlobalGMSysMessage(msg.c_str());
return true;
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
index 8bc969e9020..87272037755 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
@@ -23,19 +23,16 @@ enum Spells
SPELL_ARCANE_EXPLOSION = 46608,
SPELL_CONE_OF_COLD = 38384,
SPELL_FIREBALL = 46988,
- SPELL_FROSTBOLT = 46987
+ SPELL_FROSTBOLT = 46987,
+ SPELL_SUMMON_WATER_ELEMENTAL = 45067,
+ SPELL_ICEBLOCK = 46604
};
-enum Yells
+enum Texts
{
- YELL_AGGRO = 0,
- YELL_EVADE = 1,
- YELL_SALVATION = 2,
-};
-
-enum Creatures
-{
- NPC_WATER_ELEMENTAL = 25040
+ SAY_AGGRO = 0,
+ SAY_EVADE = 1,
+ SAY_SALVATION = 2,
};
enum Action
@@ -43,64 +40,15 @@ enum Action
ACTION_BUFF_YELL = -30001 // shared from Battleground
};
-enum WaterElementalSpells
+enum Events
{
- SPELL_WATERBOLT = 46983
-};
-
-class npc_water_elemental : public CreatureScript
-{
-public:
- npc_water_elemental() : CreatureScript("npc_water_elemental") { }
-
- struct npc_water_elementalAI : public ScriptedAI
- {
- npc_water_elementalAI(Creature* creature) : ScriptedAI(creature)
- {
- waterBoltTimer = 3 * IN_MILLISECONDS;
- resetTimer = 5 * IN_MILLISECONDS;
- balindaGUID = 0;
- }
-
- uint32 waterBoltTimer;
- uint64 balindaGUID;
- uint32 resetTimer;
-
- void Reset() override
- {
- waterBoltTimer = 3 * IN_MILLISECONDS;
- resetTimer = 5 * IN_MILLISECONDS;
- balindaGUID = 0;
- }
-
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
-
- if (waterBoltTimer < diff)
- {
- DoCastVictim(SPELL_WATERBOLT);
- waterBoltTimer = 5 * IN_MILLISECONDS;
- } else waterBoltTimer -= diff;
-
- // check if creature is not outside of building
- if (resetTimer < diff)
- {
- if (Creature* pBalinda = ObjectAccessor::GetCreature(*me, balindaGUID))
- if (me->GetDistance2d(pBalinda->GetHomePosition().GetPositionX(), pBalinda->GetHomePosition().GetPositionY()) > 50)
- EnterEvadeMode();
- resetTimer = 5 * IN_MILLISECONDS;
- } else resetTimer -= diff;
-
- DoMeleeAttackIfReady();
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_water_elementalAI(creature);
- }
+ // Balinda
+ EVENT_ARCANE_EXPLOSION = 1,
+ EVENT_CONE_OF_COLD,
+ EVENT_FIREBOLT,
+ EVENT_FROSTBOLT,
+ EVENT_SUMMON_WATER_ELEMENTAL,
+ EVENT_CHECK_RESET, // Checks if Balinda or the Water Elemental are outside of building.
};
class boss_balinda : public CreatureScript
@@ -117,23 +65,10 @@ public:
void Initialize()
{
- arcaneExplosionTimer = urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS);
- coneOfColdTimer = 8 * IN_MILLISECONDS;
- fireBoltTimer = 1 * IN_MILLISECONDS;
- frostboltTimer = 4 * IN_MILLISECONDS;
- resetTimer = 5 * IN_MILLISECONDS;
- waterElementalTimer = 0;
+ WaterElementalGUID = 0;
+ HasCastIceblock = false;
}
- uint32 arcaneExplosionTimer;
- uint32 coneOfColdTimer;
- uint32 fireBoltTimer;
- uint32 frostboltTimer;
- uint32 resetTimer;
- uint32 waterElementalTimer;
-
- SummonList summons;
-
void Reset() override
{
Initialize();
@@ -143,22 +78,28 @@ public:
void EnterCombat(Unit* /*who*/) override
{
- Talk(YELL_AGGRO);
- }
-
- void JustRespawned() override
- {
- Reset();
+ Talk(SAY_AGGRO);
+ events.ScheduleEvent(EVENT_ARCANE_EXPLOSION, urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS));
+ events.ScheduleEvent(EVENT_CONE_OF_COLD, 8 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_FIREBOLT, 1 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_FROSTBOLT, 4 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_SUMMON_WATER_ELEMENTAL, 3 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_CHECK_RESET, 5 * IN_MILLISECONDS);
}
void JustSummoned(Creature* summoned) override
{
- ENSURE_AI(npc_water_elemental::npc_water_elementalAI, summoned->AI())->balindaGUID = me->GetGUID();
summoned->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true));
summoned->setFaction(me->getFaction());
+ WaterElementalGUID = summoned->GetGUID();
summons.Summon(summoned);
}
+ void SummonedCreatureDespawn(Creature* summoned) override
+ {
+ summons.Despawn(summoned);
+ }
+
void JustDied(Unit* /*killer*/) override
{
summons.DespawnAll();
@@ -167,7 +108,16 @@ public:
void DoAction(int32 actionId) override
{
if (actionId == ACTION_BUFF_YELL)
- Talk(YELL_AGGRO);
+ Talk(SAY_AGGRO);
+ }
+
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ {
+ if (me->HealthBelowPctDamaged(40, damage) && !HasCastIceblock)
+ {
+ DoCast(SPELL_ICEBLOCK);
+ HasCastIceblock = true;
+ }
}
void UpdateAI(uint32 diff) override
@@ -175,50 +125,60 @@ public:
if (!UpdateVictim())
return;
- if (waterElementalTimer < diff)
- {
- if (summons.empty())
- me->SummonCreature(NPC_WATER_ELEMENTAL, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45 * IN_MILLISECONDS);
- waterElementalTimer = 50 * IN_MILLISECONDS;
- } else waterElementalTimer -= diff;
-
- if (arcaneExplosionTimer < diff)
- {
- DoCastVictim(SPELL_ARCANE_EXPLOSION);
- arcaneExplosionTimer = urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS);
- } else arcaneExplosionTimer -= diff;
-
- if (coneOfColdTimer < diff)
- {
- DoCastVictim(SPELL_CONE_OF_COLD);
- coneOfColdTimer = urand(10 * IN_MILLISECONDS, 20 * IN_MILLISECONDS);
- } else coneOfColdTimer -= diff;
-
- if (fireBoltTimer < diff)
- {
- DoCastVictim(SPELL_FIREBALL);
- fireBoltTimer = urand(5 * IN_MILLISECONDS, 9 * IN_MILLISECONDS);
- } else fireBoltTimer -= diff;
+ events.Update(diff);
- if (frostboltTimer < diff)
- {
- DoCastVictim(SPELL_FROSTBOLT);
- frostboltTimer = urand(4 * IN_MILLISECONDS, 12 * IN_MILLISECONDS);
- } else frostboltTimer -= diff;
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- // check if creature is not outside of building
- if (resetTimer < diff)
+ while (uint32 eventId = events.ExecuteEvent())
{
- if (me->GetDistance2d(me->GetHomePosition().GetPositionX(), me->GetHomePosition().GetPositionY()) > 50)
+ switch (eventId)
{
- EnterEvadeMode();
- Talk(YELL_EVADE);
+ case EVENT_ARCANE_EXPLOSION:
+ DoCastVictim(SPELL_ARCANE_EXPLOSION);
+ events.ScheduleEvent(EVENT_ARCANE_EXPLOSION, urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS));
+ break;
+ case EVENT_CONE_OF_COLD:
+ DoCastVictim(SPELL_CONE_OF_COLD);
+ events.ScheduleEvent(EVENT_CONE_OF_COLD, urand(10 * IN_MILLISECONDS, 20 * IN_MILLISECONDS));
+ break;
+ case EVENT_FIREBOLT:
+ DoCastVictim(SPELL_FIREBALL);
+ events.ScheduleEvent(EVENT_FIREBOLT, urand(5 * IN_MILLISECONDS, 9 * IN_MILLISECONDS));
+ break;
+ case EVENT_FROSTBOLT:
+ DoCastVictim(SPELL_FROSTBOLT);
+ events.ScheduleEvent(EVENT_FROSTBOLT, urand(4 * IN_MILLISECONDS, 12 * IN_MILLISECONDS));
+ break;
+ case EVENT_SUMMON_WATER_ELEMENTAL:
+ if (summons.empty())
+ DoCast(SPELL_SUMMON_WATER_ELEMENTAL);
+ events.ScheduleEvent(EVENT_SUMMON_WATER_ELEMENTAL, 50 * IN_MILLISECONDS);
+ break;
+ case EVENT_CHECK_RESET:
+ if (me->GetDistance2d(me->GetHomePosition().GetPositionX(), me->GetHomePosition().GetPositionY()) > 50)
+ {
+ EnterEvadeMode();
+ Talk(SAY_EVADE);
+ }
+ if (Creature* elemental = ObjectAccessor::GetCreature(*me, WaterElementalGUID))
+ if (elemental->GetDistance2d(me->GetHomePosition().GetPositionX(), me->GetHomePosition().GetPositionY()) > 50)
+ elemental->AI()->EnterEvadeMode();
+ events.ScheduleEvent(EVENT_CHECK_RESET, 5 * IN_MILLISECONDS);
+ break;
+ default:
+ break;
}
- resetTimer = 5 * IN_MILLISECONDS;
- } else resetTimer -= diff;
+ }
DoMeleeAttackIfReady();
}
+
+ private:
+ EventMap events;
+ SummonList summons;
+ uint64 WaterElementalGUID;
+ bool HasCastIceblock;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -230,5 +190,4 @@ public:
void AddSC_boss_balinda()
{
new boss_balinda;
- new npc_water_elemental;
}
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/baradin_hold.h b/src/server/scripts/EasternKingdoms/BaradinHold/baradin_hold.h
index 22df3858c43..2ae40d1d39a 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/baradin_hold.h
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/baradin_hold.h
@@ -22,6 +22,7 @@
#include "Creature.h"
#include "ObjectMgr.h"
+#define DataHeader "BH"
#define BHScriptName "instance_baradin_hold"
uint32 const EncounterCount = 3;
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
index f1fec5f1453..0f9102a2485 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
@@ -36,6 +36,7 @@ class instance_baradin_hold: public InstanceMapScript
{
instance_baradin_hold_InstanceMapScript(InstanceMap* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -101,51 +102,6 @@ class instance_baradin_hold: public InstanceMapScript
}
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "B H " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* in) override
- {
- if (!in)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(in);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(in);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'B' && dataHead2 == 'H')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
-
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 ArgalothGUID;
uint64 OccutharGUID;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
index ea3fd59490a..160c80fc4d1 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
@@ -19,6 +19,8 @@
#ifndef DEF_BRD_H
#define DEF_BRD_H
+#define DataHeader "BRD"
+
enum FactionIds
{
FACTION_NEUTRAL = 734,
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
index f51a2a95c81..67219a2990a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
@@ -117,6 +117,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&encounter, 0, sizeof(encounter));
EmperorGUID = 0;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
index 2199e52129c..be8149fbdcc 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
@@ -21,6 +21,7 @@
uint32 const EncounterCount = 23;
#define BRSScriptName "instance_blackrock_spire"
+#define DataHeader "BRS"
enum DataTypes
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
index 555eac21c43..e95fb8da42e 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
@@ -15,15 +15,14 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ObjectMgr.h"
-#include "ScriptMgr.h"
-#include "ObjectDefines.h"
#include "Cell.h"
#include "CellImpl.h"
#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
#include "InstanceScript.h"
+#include "Player.h"
#include "ScriptedCreature.h"
+#include "ScriptMgr.h"
#include "blackrock_spire.h"
//uint32 const DragonspireRunes[7] = { GO_HALL_RUNE_1, GO_HALL_RUNE_2, GO_HALL_RUNE_3, GO_HALL_RUNE_4, GO_HALL_RUNE_5, GO_HALL_RUNE_6, GO_HALL_RUNE_7 };
@@ -51,6 +50,7 @@ public:
{
instance_blackrock_spireMapScript(InstanceMap* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
HighlordOmokk = 0;
ShadowHunterVoshgajin = 0;
@@ -502,50 +502,6 @@ public:
}
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "B S " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* strIn) override
- {
- if (!strIn)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(strIn);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(strIn);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'B' && dataHead2 == 'S')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
EventMap Events;
uint64 HighlordOmokk;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
index e07d1d987fc..1cf89a263ce 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
@@ -21,6 +21,7 @@
uint32 const EncounterCount = 8;
#define BRLScriptName "instance_blackwing_lair"
+#define DataHeader "BWL"
enum BWLEncounter
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
index 1a97f668558..9a6d0e9c224 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
@@ -75,6 +75,9 @@ public:
{
Initialize();
+ Breath1_Spell = 0;
+ Breath2_Spell = 0;
+
// Select the 2 breaths that we are going to use until despawned
// 5 possiblities for the first breath, 4 for the second, 20 total possiblites
// This way we don't end up casting 2 of the same breath
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
index 8bd1ef26aec..8cb3c37a7a2 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
@@ -56,6 +56,7 @@ public:
{
instance_blackwing_lair_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
// Razorgore
EggCount = 0;
EggEvent = 0;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
index 7dee91bfb6f..800b6bb0edc 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.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,19 +15,10 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* ScriptData
-SDName: Instance_Molten_Core
-SD%Complete: 0
-SDComment: Place Holder
-SDCategory: Molten Core
-EndScriptData */
-
-#include "ObjectMgr.h"
-#include "ScriptMgr.h"
#include "InstanceScript.h"
-#include "CreatureAI.h"
+#include "ScriptedCreature.h"
+#include "ScriptMgr.h"
#include "molten_core.h"
-#include "TemporarySummon.h"
Position const SummonPositions[10] =
{
@@ -53,30 +43,19 @@ class instance_molten_core : public InstanceMapScript
{
instance_molten_core_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTER);
_golemaggTheIncineratorGUID = 0;
_majordomoExecutusGUID = 0;
_cacheOfTheFirelordGUID = 0;
- _executusSchedule = NULL;
- _deadBossCount = 0;
+ _executusSchedule = false;
_ragnarosAddDeaths = 0;
- _isLoading = false;
- _summonedExecutus = false;
}
- ~instance_molten_core_InstanceMapScript()
- {
- delete _executusSchedule;
- }
-
- void OnPlayerEnter(Player* /*player*/)
+ void OnPlayerEnter(Player* /*player*/) override
{
if (_executusSchedule)
- {
- SummonMajordomoExecutus(*_executusSchedule);
- delete _executusSchedule;
- _executusSchedule = NULL;
- }
+ SummonMajordomoExecutus();
}
void OnCreatureCreate(Creature* creature) override
@@ -141,19 +120,14 @@ class instance_molten_core : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 bossId, EncounterState state)
+ bool SetBossState(uint32 bossId, EncounterState state) override
{
if (!InstanceScript::SetBossState(bossId, state))
return false;
if (state == DONE && bossId < BOSS_MAJORDOMO_EXECUTUS)
- ++_deadBossCount;
-
- if (_isLoading)
- return true;
-
- if (_deadBossCount == 8)
- SummonMajordomoExecutus(false);
+ if (CheckMajordomoExecutus())
+ SummonMajordomoExecutus();
if (bossId == BOSS_MAJORDOMO_EXECUTUS && state == DONE)
DoRespawnGameObject(_cacheOfTheFirelordGUID, 7 * DAY);
@@ -161,13 +135,13 @@ class instance_molten_core : public InstanceMapScript
return true;
}
- void SummonMajordomoExecutus(bool done)
+ void SummonMajordomoExecutus()
{
- if (_summonedExecutus)
+ _executusSchedule = false;
+ if (_majordomoExecutusGUID)
return;
- _summonedExecutus = true;
- if (!done)
+ if (GetBossState(BOSS_MAJORDOMO_EXECUTUS) != DONE)
{
instance->SummonCreature(NPC_MAJORDOMO_EXECUTUS, SummonPositions[0]);
instance->SummonCreature(NPC_FLAMEWAKER_HEALER, SummonPositions[1]);
@@ -180,76 +154,33 @@ class instance_molten_core : public InstanceMapScript
instance->SummonCreature(NPC_FLAMEWAKER_ELITE, SummonPositions[8]);
}
else if (TempSummon* summon = instance->SummonCreature(NPC_MAJORDOMO_EXECUTUS, RagnarosTelePos))
- summon->AI()->DoAction(ACTION_START_RAGNAROS_ALT);
+ summon->AI()->DoAction(ACTION_START_RAGNAROS_ALT);
}
- std::string GetSaveData() override
+ bool CheckMajordomoExecutus() const
{
- OUT_SAVE_INST_DATA;
+ if (GetBossState(BOSS_RAGNAROS) == DONE)
+ return false;
- std::ostringstream saveStream;
- saveStream << "M C " << GetBossSaveData();
+ for (uint8 i = 0; i < BOSS_MAJORDOMO_EXECUTUS; ++i)
+ if (GetBossState(i) != DONE)
+ return false;
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
+ return true;
}
- void Load(char const* data)
+ void ReadSaveDataMore(std::istringstream& /*data*/) override
{
- if (!data)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- _isLoading = true;
- OUT_LOAD_INST_DATA(data);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(data);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'M' && dataHead2 == 'C')
- {
- EncounterState states[MAX_ENCOUNTER];
- uint8 executusCounter = 0;
-
- // need 2 loops to check spawning executus/ragnaros
- for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > TO_BE_DECIDED)
- tmpState = NOT_STARTED;
- states[i] = EncounterState(tmpState);
-
- if (tmpState == DONE && i < BOSS_MAJORDOMO_EXECUTUS)
- ++executusCounter;
- }
-
- if (executusCounter >= 8 && states[BOSS_RAGNAROS] != DONE)
- _executusSchedule = new bool(states[BOSS_MAJORDOMO_EXECUTUS] == DONE);
-
- for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
- SetBossState(i, states[i]);
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- _isLoading = false;
+ if (CheckMajordomoExecutus())
+ _executusSchedule = true;
}
private:
uint64 _golemaggTheIncineratorGUID;
uint64 _majordomoExecutusGUID;
uint64 _cacheOfTheFirelordGUID;
- bool* _executusSchedule;
- uint8 _deadBossCount;
+ bool _executusSchedule;
uint8 _ragnarosAddDeaths;
- bool _isLoading;
- bool _summonedExecutus;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
index 39d6cf40a8a..af0e0a89e45 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
@@ -19,6 +19,8 @@
#ifndef DEF_MOLTEN_CORE_H
#define DEF_MOLTEN_CORE_H
+#define DataHeader "MC"
+
enum Encounters
{
BOSS_LUCIFRON = 0,
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h b/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h
index c3b09c76c68..b1ff0e03ff0 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h
+++ b/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h
@@ -18,6 +18,8 @@
#ifndef DEF_DEADMINES_H
#define DEF_DEADMINES_H
+#define DataHeader "DM"
+
enum CannonState
{
CANNON_NOT_USED,
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
index 2124e72d9ee..53e14b88050 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
@@ -74,6 +74,7 @@ class instance_deadmines : public InstanceMapScript
void Initialize() override
{
+ SetHeaders(DataHeader);
FactoryDoorGUID = 0;
IronCladDoorGUID = 0;
DefiasCannonGUID = 0;
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h
index 096b8910d5a..adac26efff5 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h
@@ -18,6 +18,8 @@
#ifndef DEF_GNOMEREGAN_H
#define DEF_GNOMEREGAN_H
+#define DataHeader "GNO"
+
enum GameObjectIds
{
GO_CAVE_IN_LEFT = 146085,
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
index b35601fcc6c..f8e00fab682 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
@@ -36,6 +36,7 @@ public:
{
instance_gnomeregan_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
}
uint32 m_auiEncounter[MAX_ENCOUNTER];
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
index 9084a6b0371..7ce11653567 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
@@ -81,6 +81,9 @@ public:
Initialize();
instance = creature->GetInstanceScript();
Intro = true;
+ RainBones = false;
+ Skeletons = false;
+ FlyTimer = 0;
}
void Initialize()
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
index ce8223c90cf..7b51b61ba0a 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
@@ -1068,6 +1068,7 @@ public:
EntryYellTimer = 1000;
AggroYellTimer = 10000;
IsFakingDeath = false;
+ ResurrectTimer = 0;
}
void Initialize()
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
index 3300e92869b..8f6d142e22b 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
@@ -82,6 +82,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
// 1 - OZ, 2 - HOOD, 3 - RAJ, this never gets altered.
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.h b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.h
index 3812e06b442..eec7e461e9b 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.h
+++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.h
@@ -19,6 +19,8 @@
#ifndef DEF_KARAZHAN_H
#define DEF_KARAZHAN_H
+#define DataHeader "KZ"
+
enum DataTypes
{
TYPE_ATTUMEN = 1,
@@ -62,5 +64,4 @@ enum OperaEvents
EVENT_RAJ = 3
};
-#define ERROR_INST_DATA(a) TC_LOG_ERROR("scripts", "Instance Data for Karazhan not set properly. Encounter for Creature Entry %u may not work properly.", a->GetEntry());
#endif
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
index 65b3553fd87..01491c53f72 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
@@ -45,6 +45,7 @@ class instance_magisters_terrace : public InstanceMapScript
{
instance_magisters_terrace_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -161,48 +162,6 @@ class instance_magisters_terrace : public InstanceMapScript
return true;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "M T " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
- if (dataHead1 == 'M' && dataHead2 == 'T')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
uint64 GetData64(uint32 type) const override
{
switch (type)
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h
index 8b8d7d5b875..142453c2502 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h
@@ -19,6 +19,8 @@
#ifndef DEF_MAGISTERS_TERRACE_H
#define DEF_MAGISTERS_TERRACE_H
+#define DataHeader "MT"
+
uint32 const EncounterCount = 4;
enum DataTypes
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index 03ca73fed1f..6c48ee7f348 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -412,7 +412,7 @@ class npc_eye_of_acherus : public CreatureScript
{
if (movementType == WAYPOINT_MOTION_TYPE && pointId == POINT_EYE_MOVE_END - 1)
{
- me->SetByteValue(UNIT_FIELD_BYTES_2, 0, SHEATH_STATE_MELEE);
+ me->SetByteValue(UNIT_FIELD_BYTES_2, 0, SHEATH_STATE_MELEE);
me->RemoveAllAuras();
if (Player* owner = me->GetCharmerOrOwner()->ToPlayer())
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index 307bcd5add6..0733640f4c3 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -391,6 +391,10 @@ public:
Initialize();
instance = creature->GetInstanceScript();
headGUID = 0;
+ PlayerGUID = 0;
+ id = 0;
+ whirlwind = 0;
+ wp_reached = false;
}
void Initialize()
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
index c05de1bb800..3e752858e63 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.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,13 +15,6 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* ScriptData
-SDName: Boss_Interrogator_Vishas
-SD%Complete: 100
-SDComment:
-SDCategory: Scarlet Monastery
-EndScriptData */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "scarlet_monastery.h"
@@ -38,94 +30,93 @@ enum Says
enum Spells
{
- SPELL_SHADOWWORDPAIN = 2767
+ SPELL_SHADOW_WORD_PAIN = 2767
};
-class boss_interrogator_vishas : public CreatureScript
+enum Events
{
-public:
- boss_interrogator_vishas() : CreatureScript("boss_interrogator_vishas") { }
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_interrogator_vishasAI>(creature);
- }
-
- struct boss_interrogator_vishasAI : public ScriptedAI
- {
- boss_interrogator_vishasAI(Creature* creature) : ScriptedAI(creature)
- {
- Initialize();
- instance = me->GetInstanceScript();
- }
-
- void Initialize()
- {
- ShadowWordPain_Timer = 5000;
- Yell60 = false;
- Yell30 = false;
- }
-
- InstanceScript* instance;
+ EVENT_SHADOW_WORD_PAIN = 1
+};
- bool Yell30;
- bool Yell60;
- uint32 ShadowWordPain_Timer;
+class boss_interrogator_vishas : public CreatureScript
+{
+ public:
+ boss_interrogator_vishas() : CreatureScript("boss_interrogator_vishas") { }
- void Reset() override
+ struct boss_interrogator_vishasAI : public BossAI
{
- Initialize();
- instance->SetBossState(DATA_INTERROGATOR_VISHAS, NOT_STARTED);
- }
+ boss_interrogator_vishasAI(Creature* creature) : BossAI(creature, DATA_INTERROGATOR_VISHAS)
+ {
+ Initialize();
+ }
- void EnterCombat(Unit* /*who*/) override
- {
- Talk(SAY_AGGRO);
- instance->SetBossState(DATA_INTERROGATOR_VISHAS, IN_PROGRESS);
- }
+ void Initialize()
+ {
+ _yellCount = 0;
+ }
- void KilledUnit(Unit* /*Victim*/) override
- {
- Talk(SAY_KILL);
- }
+ void Reset() override
+ {
+ Initialize();
+ _Reset();
+ }
- void JustDied(Unit* /*killer*/) override
- {
- //Any other Actions to do with vorrel? setStandState?
- if (Creature* vorrel = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VORREL)))
- vorrel->AI()->Talk(SAY_TRIGGER_VORREL);
- instance->SetBossState(DATA_INTERROGATOR_VISHAS, DONE);
- }
+ void EnterCombat(Unit* /*who*/) override
+ {
+ Talk(SAY_AGGRO);
+ _EnterCombat();
+ events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 5000);
+ }
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
+ void KilledUnit(Unit* victim) override
+ {
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_KILL);
+ }
- //If we are low on hp Do sayings
- if (!Yell60 && !HealthAbovePct(60))
+ void JustDied(Unit* /*killer*/) override
{
- Talk(SAY_HEALTH1);
- Yell60 = true;
+ _JustDied();
+ if (Creature* vorrel = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VORREL)))
+ vorrel->AI()->Talk(SAY_TRIGGER_VORREL);
}
- if (!Yell30 && !HealthAbovePct(30))
+ void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
{
- Talk(SAY_HEALTH2);
- Yell30 = true;
+ if (me->HealthBelowPctDamaged(60, damage) && _yellCount < 1)
+ {
+ Talk(SAY_HEALTH1);
+ ++_yellCount;
+ }
+
+ if (me->HealthBelowPctDamaged(30, damage) && _yellCount < 2)
+ {
+ Talk(SAY_HEALTH2);
+ ++_yellCount;
+ }
}
- //ShadowWordPain_Timer
- if (ShadowWordPain_Timer <= diff)
+ void ExecuteEvent(uint32 eventId) override
{
- DoCastVictim(SPELL_SHADOWWORDPAIN);
- ShadowWordPain_Timer = urand(5000, 15000);
+ switch (eventId)
+ {
+ case EVENT_SHADOW_WORD_PAIN:
+ DoCastVictim(SPELL_SHADOW_WORD_PAIN);
+ events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(5000, 15000));
+ break;
+ default:
+ break;
+ }
}
- else ShadowWordPain_Timer -= diff;
- DoMeleeAttackIfReady();
+ private:
+ uint8 _yellCount;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetInstanceAI<boss_interrogator_vishasAI>(creature);
}
- };
};
void AddSC_boss_interrogator_vishas()
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
index dc65bd42bf4..3a79dac3a90 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
@@ -34,6 +34,7 @@ class instance_scarlet_monastery : public InstanceMapScript
{
instance_scarlet_monastery_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -155,50 +156,6 @@ class instance_scarlet_monastery : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "S M " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'S' && dataHead2 == 'M')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 PumpkinShrineGUID;
uint64 HorsemanGUID;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h b/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h
index a74efba751f..af716b5f448 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h
@@ -19,6 +19,8 @@
#define SCARLET_M_
#define SMScriptName "instance_scarlet_monastery"
+#define DataHeader "SM"
+
uint32 const EncounterCount = 10;
enum DataTypes
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
index 44885a01270..b218e3f2978 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
@@ -105,7 +105,7 @@ public:
DoMeleeAttackIfReady();
}
-
+
private:
EventMap events;
SummonList Summons;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
index 3864c598459..099a69782b8 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.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,20 +15,31 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* ScriptData
-SDName: Boss_Kormok
-SD%Complete: 100
-SDComment:
-SDCategory: Scholomance
-EndScriptData */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "SpellScript.h"
+#include "scholomance.h"
enum Spells
{
- SPELL_SHADOWBOLTVOLLEY = 20741,
- SPELL_BONESHIELD = 27688
+ SPELL_SHADOWBOLT_VOLLEY = 20741,
+ SPELL_BONE_SHIELD = 27688,
+
+ SPELL_SUMMON_BONE_MAGES = 27695,
+
+ SPELL_SUMMON_BONE_MAGE_FRONT_LEFT = 27696,
+ SPELL_SUMMON_BONE_MAGE_FRONT_RIGHT = 27697,
+ SPELL_SUMMON_BONE_MAGE_BACK_RIGHT = 27698,
+ SPELL_SUMMON_BONE_MAGE_BACK_LEFT = 27699,
+
+ SPELL_SUMMON_BONE_MINIONS = 27687
+};
+
+enum Events
+{
+ EVENT_SHADOWBOLT_VOLLEY = 1,
+ EVENT_BONE_SHIELD,
+ EVENT_SUMMON_MINIONS
};
class boss_kormok : public CreatureScript
@@ -37,11 +47,6 @@ class boss_kormok : public CreatureScript
public:
boss_kormok() : CreatureScript("boss_kormok") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new boss_kormokAI(creature);
- }
-
struct boss_kormokAI : public ScriptedAI
{
boss_kormokAI(Creature* creature) : ScriptedAI(creature)
@@ -51,38 +56,34 @@ public:
void Initialize()
{
- ShadowVolley_Timer = 10000;
- BoneShield_Timer = 2000;
- Minion_Timer = 15000;
- Mage_Timer = 0;
Mages = false;
}
- uint32 ShadowVolley_Timer;
- uint32 BoneShield_Timer;
- uint32 Minion_Timer;
- uint32 Mage_Timer;
- bool Mages;
-
void Reset() override
{
Initialize();
+ events.Reset();
}
void EnterCombat(Unit* /*who*/) override
{
+ events.ScheduleEvent(EVENT_SHADOWBOLT_VOLLEY, 10000);
+ events.ScheduleEvent(EVENT_BONE_SHIELD, 2000);
+ events.ScheduleEvent(EVENT_SUMMON_MINIONS, 15000);
}
- void SummonMinions(Unit* victim)
+ void JustSummoned(Creature* summoned) override
{
- if (Creature* SummonedMinion = DoSpawnCreature(16119, float(irand(-7, 7)), float(irand(-7, 7)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000))
- SummonedMinion->AI()->AttackStart(victim);
+ summoned->AI()->AttackStart(me->GetVictim());
}
- void SummonMages(Unit* victim)
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
- if (Creature* SummonedMage = DoSpawnCreature(16120, float(irand(-9, 9)), float(irand(-9, 9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000))
- SummonedMage->AI()->AttackStart(victim);
+ if (me->HealthBelowPctDamaged(25, damage) && !Mages)
+ {
+ DoCast(SPELL_SUMMON_BONE_MAGES);
+ Mages = true;
+ }
}
void UpdateAI(uint32 diff) override
@@ -90,48 +91,132 @@ public:
if (!UpdateVictim())
return;
- //ShadowVolley_Timer
- if (ShadowVolley_Timer <= diff)
- {
- DoCastVictim(SPELL_SHADOWBOLTVOLLEY);
- ShadowVolley_Timer = 15000;
- } else ShadowVolley_Timer -= diff;
+ events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- //BoneShield_Timer
- if (BoneShield_Timer <= diff)
+ while (uint32 eventId = events.ExecuteEvent())
{
- DoCastVictim(SPELL_BONESHIELD);
- BoneShield_Timer = 45000;
- } else BoneShield_Timer -= diff;
+ switch (eventId)
+ {
+ case EVENT_SHADOWBOLT_VOLLEY:
+ DoCastVictim(SPELL_SHADOWBOLT_VOLLEY);
+ events.ScheduleEvent(EVENT_SHADOWBOLT_VOLLEY, 15000);
+ break;
+ case EVENT_BONE_SHIELD:
+ DoCastVictim(SPELL_BONE_SHIELD);
+ events.ScheduleEvent(EVENT_BONE_SHIELD, 45000);
+ break;
+ case EVENT_SUMMON_MINIONS:
+ DoCast(SPELL_SUMMON_BONE_MINIONS);
+ events.ScheduleEvent(EVENT_SUMMON_MINIONS, 12000);
+ break;
+ default:
+ break;
+ }
+ }
+
+ DoMeleeAttackIfReady();
+ }
+
+ private:
+ EventMap events;
+ bool Mages;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new boss_kormokAI(creature);
+ }
+};
- //Minion_Timer
- if (Minion_Timer <= diff)
+uint32 const SummonMageSpells[4] =
+{
+ SPELL_SUMMON_BONE_MAGE_FRONT_LEFT,
+ SPELL_SUMMON_BONE_MAGE_FRONT_RIGHT,
+ SPELL_SUMMON_BONE_MAGE_BACK_RIGHT,
+ SPELL_SUMMON_BONE_MAGE_BACK_LEFT,
+};
+
+// 27695 - Summon Bone Mages
+class spell_kormok_summon_bone_mages : SpellScriptLoader
+{
+ public:
+ spell_kormok_summon_bone_mages() : SpellScriptLoader("spell_kormok_summon_bone_mages") { }
+
+ class spell_kormok_summon_bone_magesSpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_kormok_summon_bone_magesSpellScript);
+
+ bool Validate(SpellInfo const* /*spell*/) override
{
- //Cast
- SummonMinions(me->GetVictim());
- SummonMinions(me->GetVictim());
- SummonMinions(me->GetVictim());
- SummonMinions(me->GetVictim());
+ for (uint32 i = 0; i < 4; ++i)
+ if (!sSpellMgr->GetSpellInfo(SummonMageSpells[i]))
+ return false;
+ return true;
+ }
- Minion_Timer = 12000;
- } else Minion_Timer -= diff;
+ void HandleScript(SpellEffIndex effIndex)
+ {
+ PreventHitDefaultEffect(effIndex);
+ for (uint32 i = 0; i < 2; ++i)
+ GetCaster()->CastSpell(GetCaster(), SummonMageSpells[urand(0, 3)], true);
+ }
- //Summon 2 Bone Mages
- if (!Mages && HealthBelowPct(26))
+ void Register() override
{
- //Cast
- SummonMages(me->GetVictim());
- SummonMages(me->GetVictim());
- Mages = true;
+ OnEffectHitTarget += SpellEffectFn(spell_kormok_summon_bone_magesSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
+ };
- DoMeleeAttackIfReady();
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_kormok_summon_bone_magesSpellScript();
+ }
+};
+
+// 27687 - Summon Bone Minions
+class spell_kormok_summon_bone_minions : SpellScriptLoader
+{
+ public:
+ spell_kormok_summon_bone_minions() : SpellScriptLoader("spell_kormok_summon_bone_minions") { }
+
+ class spell_kormok_summon_bone_minionsSpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_kormok_summon_bone_minionsSpellScript);
+
+ bool Validate(SpellInfo const* /*spell*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_BONE_MINIONS))
+ return false;
+ return true;
+ }
+
+ void HandleScript(SpellEffIndex effIndex)
+ {
+ PreventHitDefaultEffect(effIndex);
+
+ // Possible spells to handle this not found.
+ for (uint32 i = 0; i < 4; ++i)
+ GetCaster()->SummonCreature(NPC_BONE_MINION, GetCaster()->GetPositionX() + float(irand(-7, 7)), GetCaster()->GetPositionY() + float(irand(-7, 7)), GetCaster()->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_kormok_summon_bone_minionsSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_kormok_summon_bone_minionsSpellScript();
+ }
};
void AddSC_boss_kormok()
{
new boss_kormok();
+ new spell_kormok_summon_bone_mages();
+ new spell_kormok_summon_bone_minions();
}
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
index 9351224863c..897799a708c 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.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,122 +15,108 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* ScriptData
-SDName: Boss_Ras_Frostwhisper
-SD%Complete: 100
-SDComment:
-SDCategory: Scholomance
-EndScriptData */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
enum Spells
{
SPELL_FROSTBOLT = 21369,
- SPELL_ICEARMOR = 18100, // This is actually a buff he gives himself
+ SPELL_ICE_ARMOR = 18100, // This is actually a buff he gives himself
SPELL_FREEZE = 18763,
SPELL_FEAR = 26070,
- SPELL_CHILLNOVA = 18099,
+ SPELL_CHILL_NOVA = 18099,
SPELL_FROSTVOLLEY = 8398
};
+enum Events
+{
+ EVENT_FROSTBOLT = 1,
+ EVENT_ICE_ARMOR,
+ EVENT_FREEZE,
+ EVENT_FEAR,
+ EVENT_CHILL_NOVA,
+ EVENT_FROSTVOLLEY
+};
+
class boss_boss_ras_frostwhisper : public CreatureScript
{
public:
boss_boss_ras_frostwhisper() : CreatureScript("boss_boss_ras_frostwhisper") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new boss_rasfrostAI(creature);
- }
-
struct boss_rasfrostAI : public ScriptedAI
{
- boss_rasfrostAI(Creature* creature) : ScriptedAI(creature)
- {
- Initialize();
- }
+ boss_rasfrostAI(Creature* creature) : ScriptedAI(creature) { }
- void Initialize()
+ void Reset() override
{
- IceArmor_Timer = 2000;
- Frostbolt_Timer = 8000;
- ChillNova_Timer = 12000;
- Freeze_Timer = 18000;
- FrostVolley_Timer = 24000;
- Fear_Timer = 45000;
+ events.Reset();
+ DoCast(me, SPELL_ICE_ARMOR);
}
- uint32 IceArmor_Timer;
- uint32 Frostbolt_Timer;
- uint32 Freeze_Timer;
- uint32 Fear_Timer;
- uint32 ChillNova_Timer;
- uint32 FrostVolley_Timer;
-
- void Reset() override
+ void EnterCombat(Unit* /*who*/) override
{
- Initialize();
-
- DoCast(me, SPELL_ICEARMOR, true);
+ events.ScheduleEvent(EVENT_ICE_ARMOR, 2000);
+ events.ScheduleEvent(EVENT_FROSTBOLT, 8000);
+ events.ScheduleEvent(EVENT_CHILL_NOVA, 12000);
+ events.ScheduleEvent(EVENT_FREEZE, 18000);
+ events.ScheduleEvent(EVENT_FEAR, 45000);
}
- void EnterCombat(Unit* /*who*/) override { }
-
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
- //IceArmor_Timer
- if (IceArmor_Timer <= diff)
- {
- DoCast(me, SPELL_ICEARMOR);
- IceArmor_Timer = 180000;
- } else IceArmor_Timer -= diff;
-
- //Frostbolt_Timer
- if (Frostbolt_Timer <= diff)
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_FROSTBOLT);
-
- Frostbolt_Timer = 8000;
- } else Frostbolt_Timer -= diff;
-
- //Freeze_Timer
- if (Freeze_Timer <= diff)
- {
- DoCastVictim(SPELL_FREEZE);
- Freeze_Timer = 24000;
- } else Freeze_Timer -= diff;
-
- //Fear_Timer
- if (Fear_Timer <= diff)
- {
- DoCastVictim(SPELL_FEAR);
- Fear_Timer = 30000;
- } else Fear_Timer -= diff;
+ events.Update(diff);
- //ChillNova_Timer
- if (ChillNova_Timer <= diff)
- {
- DoCastVictim(SPELL_CHILLNOVA);
- ChillNova_Timer = 14000;
- } else ChillNova_Timer -= diff;
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- //FrostVolley_Timer
- if (FrostVolley_Timer <= diff)
+ while (uint32 eventId = events.ExecuteEvent())
{
- DoCastVictim(SPELL_FROSTVOLLEY);
- FrostVolley_Timer = 15000;
- } else FrostVolley_Timer -= diff;
+ switch (eventId)
+ {
+ case EVENT_ICE_ARMOR:
+ DoCast(me, SPELL_ICE_ARMOR);
+ events.ScheduleEvent(EVENT_ICE_ARMOR, 180000);
+ break;
+ case EVENT_FROSTBOLT:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
+ DoCast(target, SPELL_FROSTBOLT);
+ events.ScheduleEvent(EVENT_FROSTBOLT, 8000);
+ break;
+ case EVENT_FREEZE:
+ DoCastVictim(SPELL_FREEZE);
+ events.ScheduleEvent(EVENT_FREEZE, 24000);
+ break;
+ case EVENT_FEAR:
+ DoCastVictim(SPELL_FEAR);
+ events.ScheduleEvent(EVENT_FEAR, 30000);
+ break;
+ case EVENT_CHILL_NOVA:
+ DoCastVictim(SPELL_CHILL_NOVA);
+ events.ScheduleEvent(EVENT_CHILL_NOVA, 14000);
+ break;
+ case EVENT_FROSTVOLLEY:
+ DoCastVictim(SPELL_FROSTVOLLEY);
+ events.ScheduleEvent(EVENT_FROSTVOLLEY, 15000);
+ break;
+ default:
+ break;
+ }
+ }
DoMeleeAttackIfReady();
}
+
+ private:
+ EventMap events;
};
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new boss_rasfrostAI(creature);
+ }
};
void AddSC_boss_rasfrost()
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
index fba5f3faa14..792649f2998 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.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,103 +15,102 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* ScriptData
-SDName: Boss_Vectus
-SD%Complete: 100
-SDComment:
-SDCategory: Scholomance
-EndScriptData */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
enum Emotes
{
- EMOTE_FRENZY_KILL = 0
+ EMOTE_FRENZY = 0
};
enum Spells
{
SPELL_FLAMESTRIKE = 18399,
SPELL_BLAST_WAVE = 16046,
- SPELL_FIRESHIELD = 19626,
+ SPELL_FIRE_SHIELD = 19626,
SPELL_FRENZY = 8269 // 28371
};
+enum Events
+{
+ EVENT_FIRE_SHIELD = 1,
+ EVENT_BLAST_WAVE,
+ EVENT_FRENZY
+};
+
class boss_vectus : public CreatureScript
{
public:
boss_vectus() : CreatureScript("boss_vectus") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new boss_vectusAI(creature);
- }
-
struct boss_vectusAI : public ScriptedAI
{
- boss_vectusAI(Creature* creature) : ScriptedAI(creature)
+ boss_vectusAI(Creature* creature) : ScriptedAI(creature) { }
+
+ void Reset() override
{
- Initialize();
+ events.Reset();
}
- void Initialize()
+ void EnterCombat(Unit* /*who*/) override
{
- m_uiFireShield_Timer = 2000;
- m_uiBlastWave_Timer = 14000;
- m_uiFrenzy_Timer = 0;
+ events.ScheduleEvent(EVENT_FIRE_SHIELD, 2000);
+ events.ScheduleEvent(EVENT_BLAST_WAVE, 14000);
}
- uint32 m_uiFireShield_Timer;
- uint32 m_uiBlastWave_Timer;
- uint32 m_uiFrenzy_Timer;
-
- void Reset() override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
- Initialize();
+ if (me->HealthBelowPctDamaged(25, damage))
+ {
+ DoCast(me, SPELL_FRENZY);
+ Talk(EMOTE_FRENZY);
+ events.ScheduleEvent(EVENT_FRENZY, 24000);
+ }
}
- void UpdateAI(uint32 uiDiff) override
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
- //FireShield_Timer
- if (m_uiFireShield_Timer <= uiDiff)
- {
- DoCast(me, SPELL_FIRESHIELD);
- m_uiFireShield_Timer = 90000;
- }
- else
- m_uiFireShield_Timer -= uiDiff;
+ events.Update(diff);
- //BlastWave_Timer
- if (m_uiBlastWave_Timer <= uiDiff)
- {
- DoCastVictim(SPELL_BLAST_WAVE);
- m_uiBlastWave_Timer = 12000;
- }
- else
- m_uiBlastWave_Timer -= uiDiff;
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- //Frenzy_Timer
- if (HealthBelowPct(25))
+ while (uint32 eventId = events.ExecuteEvent())
{
- if (m_uiFrenzy_Timer <= uiDiff)
+ switch (eventId)
{
- DoCast(me, SPELL_FRENZY);
- Talk(EMOTE_FRENZY_KILL);
-
- m_uiFrenzy_Timer = 24000;
+ case EVENT_FIRE_SHIELD:
+ DoCast(me, SPELL_FIRE_SHIELD);
+ events.ScheduleEvent(EVENT_FIRE_SHIELD, 90000);
+ break;
+ case EVENT_BLAST_WAVE:
+ DoCast(me, SPELL_BLAST_WAVE);
+ events.ScheduleEvent(EVENT_BLAST_WAVE, 12000);
+ case EVENT_FRENZY:
+ DoCast(me, SPELL_FRENZY);
+ Talk(EMOTE_FRENZY);
+ events.ScheduleEvent(EVENT_FRENZY, 24000);
+ break;
+ default:
+ break;
}
- else
- m_uiFrenzy_Timer -= uiDiff;
}
DoMeleeAttackIfReady();
}
+
+ private:
+ EventMap events;
};
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new boss_vectusAI(creature);
+ }
};
void AddSC_boss_vectus()
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
index 6bb8e301e86..f1959b6cf56 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
@@ -36,6 +36,7 @@ class instance_scholomance : public InstanceMapScript
{
instance_scholomance_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
GateKirtonosGUID = 0;
GateGandlingGUID = 0;
@@ -168,49 +169,9 @@ class instance_scholomance : public InstanceMapScript
instance->SummonCreature(NPC_DARKMASTER_GANDLING, GandlingLoc);
}
- std::string GetSaveData() override
+ void ReadSaveDataMore(std::istringstream& /*data*/) override
{
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "S O " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'S' && dataHead2 == 'O')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
-
- CheckToSpawnGandling();
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
+ CheckToSpawnGandling();
}
protected:
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h b/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h
index 9eb7c5e8f86..30d0e978145 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h
+++ b/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h
@@ -18,6 +18,8 @@
#ifndef DEF_SCHOLOMANCE_H
#define DEF_SCHOLOMANCE_H
+#define DataHeader "SC"
+
uint32 const EncounterCount = 8;
enum DataTypes
@@ -34,7 +36,8 @@ enum DataTypes
enum CreatureIds
{
- NPC_DARKMASTER_GANDLING = 1853
+ NPC_DARKMASTER_GANDLING = 1853,
+ NPC_BONE_MINION = 16119
};
enum GameobjectIds
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
index c76637224ae..10c4aedf103 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
@@ -96,6 +96,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
uiAshGUID = 0;
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
index 0b399dc4050..669dfc3975d 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
@@ -19,6 +19,8 @@
#ifndef DEF_SHADOWFANG_H
#define DEF_SHADOWFANG_H
+#define DataHeader "SK"
+
enum DataTypes
{
TYPE_FREE_NPC = 1,
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
index ecdc66d3e0f..43ce4d05297 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
@@ -49,6 +49,7 @@ class instance_stratholme : public InstanceMapScript
{
instance_stratholme_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
}
uint32 EncounterState[MAX_ENCOUNTER];
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
index 01ee7139ae5..889fbe8fdc9 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
@@ -81,38 +81,6 @@ public:
};
/*######
-## npc_freed_soul
-######*/
-enum FreedSoul
-{
- SAY_ZAPPED = 0
-};
-
-class npc_freed_soul : public CreatureScript
-{
-public:
- npc_freed_soul() : CreatureScript("npc_freed_soul") { }
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_freed_soulAI(creature);
- }
-
- struct npc_freed_soulAI : public ScriptedAI
- {
- npc_freed_soulAI(Creature* creature) : ScriptedAI(creature) { }
-
- void Reset() override
- {
- Talk(SAY_ZAPPED);
- }
-
- void EnterCombat(Unit* /*who*/) override { }
- };
-
-};
-
-/*######
## npc_restless_soul
######*/
@@ -181,6 +149,9 @@ public:
void JustSummoned(Creature* summoned) override
{
summoned->CastSpell(summoned, SPELL_SOUL_FREED, false);
+
+ if (Player* player = ObjectAccessor::GetPlayer(*me, Tagger))
+ summoned->GetMotionMaster()->MoveFollow(player, 0.0f, 0.0f);
}
void JustDied(Unit* /*killer*/) override
@@ -318,7 +289,6 @@ public:
void AddSC_stratholme()
{
new go_gauntlet_gate();
- new npc_freed_soul();
new npc_restless_soul();
new npc_spectral_ghostly_citizen();
}
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.h b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.h
index 9e4c88f5856..687512ea92d 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.h
+++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.h
@@ -19,6 +19,8 @@
#ifndef DEF_STRATHOLME_H
#define DEF_STRATHOLME_H
+#define DataHeader "STR"
+
enum DataTypes
{
TYPE_BARON_RUN = 1,
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
index 789a5c3a874..ee16a662711 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
@@ -60,6 +60,7 @@ public:
{
instance_sunken_temple_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
}
uint64 GOAtalaiStatue1;
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h
index 394b1e3e8ae..bfd99e2afdd 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h
@@ -19,6 +19,8 @@
#ifndef DEF_SUNKEN_TEMPLE_H
#define DEF_SUNKEN_TEMPLE_H
+#define DataHeader "ST"
+
#define TROLLBOSS1_DEATH 1
#define TROLLBOSS2_DEATH 2
#define TROLLBOSS3_DEATH 3
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index 5df2d683e21..79ebfa7b62b 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -503,6 +503,7 @@ public:
{
Initialize();
instance = creature->GetInstanceScript();
+ speechPhaseEnd = 0;
SetCombatMovement(false);
}
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
index ec0bae0f27f..823423fc3a8 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
@@ -301,10 +301,19 @@ public:
{
npc_muru_portalAI(Creature* creature) : ScriptedAI(creature), Summons(creature)
{
+ Initialize();
SetCombatMovement(false);
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ SummonTimer = 5000;
+
+ InAction = false;
+ SummonSentinel = false;
+ }
+
InstanceScript* instance;
SummonList Summons;
@@ -316,10 +325,7 @@ public:
void Reset() override
{
- SummonTimer = 5000;
-
- InAction = false;
- SummonSentinel = false;
+ Initialize();
me->AddUnitState(UNIT_STATE_STUNNED);
@@ -383,15 +389,23 @@ public:
struct npc_dark_fiendAI : public ScriptedAI
{
- npc_dark_fiendAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_dark_fiendAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ WaitTimer = 2000;
+ InAction = false;
+ }
uint32 WaitTimer;
bool InAction;
void Reset() override
{
- WaitTimer = 2000;
- InAction = false;
+ Initialize();
me->AddUnitState(UNIT_STATE_STUNNED);
}
@@ -444,15 +458,23 @@ public:
struct npc_void_sentinelAI : public ScriptedAI
{
- npc_void_sentinelAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_void_sentinelAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ PulseTimer = 3000;
+ VoidBlastTimer = 45000; //is this a correct timer?
+ }
uint32 PulseTimer;
uint32 VoidBlastTimer;
void Reset() override
{
- PulseTimer = 3000;
- VoidBlastTimer = 45000; //is this a correct timer?
+ Initialize();
float x, y, z, o;
me->GetHomePosition(x, y, z, o);
@@ -502,9 +524,18 @@ public:
{
npc_blackholeAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ DespawnTimer = 15000;
+ SpellTimer = 5000;
+ Phase = 0;
+ NeedForAHack = 0;
+ }
+
InstanceScript* instance;
uint32 DespawnTimer;
@@ -514,10 +545,7 @@ public:
void Reset() override
{
- DespawnTimer = 15000;
- SpellTimer = 5000;
- Phase = 0;
- NeedForAHack = 0;
+ Initialize();
me->AddUnitState(UNIT_STATE_STUNNED);
DoCastAOE(SPELL_BLACKHOLE_SPAWN, true);
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
index 5a411d504aa..2066c4309b2 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
@@ -49,6 +49,7 @@ class instance_sunwell_plateau : public InstanceMapScript
{
instance_sunwell_plateau_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -212,67 +213,24 @@ class instance_sunwell_plateau : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "S P " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'S' && dataHead2 == 'P')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
- protected:
- uint64 KalecgosDragonGUID;
- uint64 KalecgosHumanGUID;
- uint64 SathrovarrGUID;
- uint64 BrutallusGUID;
- uint64 MadrigosaGUID;
- uint64 FelmystGUID;
- uint64 AlythessGUID;
- uint64 SacrolashGUID;
- uint64 MuruGUID;
- uint64 KilJaedenGUID;
- uint64 KilJaedenControllerGUID;
- uint64 AnveenaGUID;
- uint64 KalecgosKjGUID;
- uint32 SpectralPlayers;
-
- uint32 SpectralRealmTimer;
- std::vector<uint64> SpectralRealmList;
+ protected:
+ uint64 KalecgosDragonGUID;
+ uint64 KalecgosHumanGUID;
+ uint64 SathrovarrGUID;
+ uint64 BrutallusGUID;
+ uint64 MadrigosaGUID;
+ uint64 FelmystGUID;
+ uint64 AlythessGUID;
+ uint64 SacrolashGUID;
+ uint64 MuruGUID;
+ uint64 KilJaedenGUID;
+ uint64 KilJaedenControllerGUID;
+ uint64 AnveenaGUID;
+ uint64 KalecgosKjGUID;
+ uint32 SpectralPlayers;
+
+ uint32 SpectralRealmTimer;
+ std::vector<uint64> SpectralRealmList;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h b/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h
index d32cdb037b2..e6aed3eddf7 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h
@@ -19,6 +19,7 @@
#define SUNWELL_PLATEAU_H
#define SunwellPlateauScriptName "instance_sunwell_plateau"
+#define DataHeader "SWP"
uint32 const EncounterCount = 6;
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
index 56c84677181..17a6440702e 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
@@ -49,6 +49,7 @@ class instance_uldaman : public InstanceMapScript
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
archaedasGUID = 0;
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.h b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.h
index 6f17fae0162..8697172fcb9 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.h
+++ b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.h
@@ -19,6 +19,8 @@
#ifndef DEF_ULDAMAN_H
#define DEF_ULDAMAN_H
+#define DataHeader "UD"
+
#define MAX_ENCOUNTER 3
enum DataTypes
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
index d5cfb7b4851..11bf47c4cd1 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
@@ -29,6 +29,7 @@ class instance_zulaman : public InstanceMapScript
{
instance_zulaman_InstanceScript(InstanceMap* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
AkilzonGUID = 0;
@@ -266,60 +267,25 @@ class instance_zulaman : public InstanceMapScript
}
}
- std::string GetSaveData() override
+ void WriteSaveDataMore(std::ostringstream& data) override
{
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "Z A " << GetBossSaveData() << ZulAmanState
- << ' ' << SpeedRunTimer << ' ' << ZulAmanBossCount;
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
+ data << ZulAmanState << ' '
+ << SpeedRunTimer << ' '
+ << ZulAmanBossCount;
}
- void Load(char const* str) override
+ void ReadSaveDataMore(std::istringstream& data) override
{
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
+ data >> ZulAmanState;
+ data >> SpeedRunTimer;
+ data >> ZulAmanBossCount;
- if (dataHead1 == 'Z' && dataHead2 == 'A')
+ if (ZulAmanState == IN_PROGRESS && SpeedRunTimer && SpeedRunTimer <= 15)
{
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
-
- loadStream >> ZulAmanState;
- loadStream >> SpeedRunTimer;
- loadStream >> ZulAmanBossCount;
-
- if (ZulAmanState == IN_PROGRESS && SpeedRunTimer && SpeedRunTimer <= 15)
- {
- events.ScheduleEvent(EVENT_UPDATE_ZULAMAN_TIMER, 60000);
- DoUpdateWorldState(WORLD_STATE_ZULAMAN_TIMER_ENABLED, 1);
- DoUpdateWorldState(WORLD_STATE_ZULAMAN_TIMER, SpeedRunTimer);
- }
+ events.ScheduleEvent(EVENT_UPDATE_ZULAMAN_TIMER, 60000);
+ DoUpdateWorldState(WORLD_STATE_ZULAMAN_TIMER_ENABLED, 1);
+ DoUpdateWorldState(WORLD_STATE_ZULAMAN_TIMER, SpeedRunTimer);
}
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
}
protected:
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h
index a9a1aaecd05..820788c66ec 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h
@@ -20,6 +20,7 @@
uint32 const EncounterCount = 6;
#define ZulAmanScriptName "instance_zulaman"
+#define DataHeader "ZA"
enum DataTypes
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
index 1f65805ea71..581839315da 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
@@ -39,6 +39,7 @@ class instance_zulgurub : public InstanceMapScript
{
instance_zulgurub_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
venoxisGUID = 0;
@@ -197,50 +198,6 @@ class instance_zulgurub : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "Z G " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'Z' && dataHead2 == 'G')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 venoxisGUID;
uint64 mandokirGUID;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
index 5fbd18b7590..bdb73a77997 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
@@ -19,6 +19,7 @@
#ifndef DEF_ZULGURUB_H
#define DEF_ZULGURUB_H
+#define DataHeader "ZG"
#define ZGScriptName "instance_zulgurub"
uint32 const EncounterCount = 5;
diff --git a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
index dbcf5998bdb..d242d17806c 100644
--- a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
@@ -319,19 +319,24 @@ public:
struct npc_anchorite_truuenAI : public npc_escortAI
{
- npc_anchorite_truuenAI(Creature* creature) : npc_escortAI(creature) { }
+ npc_anchorite_truuenAI(Creature* creature) : npc_escortAI(creature)
+ {
+ Initialize();
+ UghostGUID = 0;
+ }
+
+ void Initialize()
+ {
+ m_uiChatTimer = 7000;
+ }
uint32 m_uiChatTimer;
uint64 UghostGUID;
- uint64 TheldanisGUID;
-
- Creature* Ughost;
- Creature* Theldanis;
void Reset() override
{
- m_uiChatTimer = 7000;
+ Initialize();
}
void JustSummoned(Creature* summoned) override
@@ -364,26 +369,25 @@ public:
Talk(SAY_WP_2);
break;
case 21:
- Theldanis = GetClosestCreatureWithEntry(me, NPC_THEL_DANIS, 150);
- if (Theldanis)
+ if (Creature* Theldanis = GetClosestCreatureWithEntry(me, NPC_THEL_DANIS, 150))
Theldanis->AI()->Talk(SAY_WP_3);
break;
case 23:
- Ughost = me->SummonCreature(NPC_GHOST_UTHER, 971.86f, -1825.42f, 81.99f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
- if (Ughost)
+ if (Creature* Ughost = me->SummonCreature(NPC_GHOST_UTHER, 971.86f, -1825.42f, 81.99f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000))
{
+ UghostGUID = Ughost->GetGUID();
Ughost->SetDisableGravity(true);
Ughost->AI()->Talk(SAY_WP_4, me);
}
m_uiChatTimer = 4000;
break;
case 24:
- if (Ughost)
+ if (Creature* Ughost = ObjectAccessor::GetCreature(*me, UghostGUID))
Ughost->AI()->Talk(SAY_WP_5, me);
m_uiChatTimer = 4000;
break;
case 25:
- if (Ughost)
+ if (Creature* Ughost = ObjectAccessor::GetCreature(*me, UghostGUID))
Ughost->AI()->Talk(SAY_WP_6, me);
m_uiChatTimer = 4000;
break;
diff --git a/src/server/scripts/EasternKingdoms/zone_wetlands.cpp b/src/server/scripts/EasternKingdoms/zone_wetlands.cpp
index e6c844b1b1e..94cea417b04 100644
--- a/src/server/scripts/EasternKingdoms/zone_wetlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_wetlands.cpp
@@ -59,14 +59,22 @@ public:
struct npc_tapoke_slim_jahnAI : public npc_escortAI
{
- npc_tapoke_slim_jahnAI(Creature* creature) : npc_escortAI(creature) { }
+ npc_tapoke_slim_jahnAI(Creature* creature) : npc_escortAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ IsFriendSummoned = false;
+ }
bool IsFriendSummoned;
void Reset() override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
- IsFriendSummoned = false;
+ Initialize();
}
void WaypointReached(uint32 waypointId) override
diff --git a/src/server/scripts/Events/childrens_week.cpp b/src/server/scripts/Events/childrens_week.cpp
index 25257848192..4bc0642e348 100644
--- a/src/server/scripts/Events/childrens_week.cpp
+++ b/src/server/scripts/Events/childrens_week.cpp
@@ -27,7 +27,7 @@ enum Orphans
ORPHAN_BLOOD_ELF = 22817,
ORPHAN_DRAENEI = 22818,
ORPHAN_HUMAN = 14305,
- ORPHAN_ORCISH = 14444,
+ ORPHAN_ORCISH = 14444
};
enum Texts
@@ -68,7 +68,7 @@ enum Texts
TEXT_ELDER_KEKEK_1 = 1,
TEXT_ALEXSTRASZA_2 = 2,
- TEXT_KRASUS_8 = 8,
+ TEXT_KRASUS_8 = 8
};
enum Quests
@@ -99,7 +99,7 @@ enum Quests
QUEST_NOW_WHEN_I_GROW_UP = 11975,
QUEST_HOME_OF_THE_BEAR_MEN = 13930,
QUEST_THE_DRAGON_QUEEN_ORACLE = 13954,
- QUEST_THE_DRAGON_QUEEN_WOLVAR = 13955,
+ QUEST_THE_DRAGON_QUEEN_WOLVAR = 13955
};
enum Areatriggers
@@ -120,7 +120,7 @@ enum Areatriggers
NPC_SPOREGGAR_CW_TRIGGER = 22829,
NPC_THRONE_OF_ELEMENTS_CW_TRIGGER = 22839,
NPC_SILVERMOON_01_CW_TRIGGER = 22866,
- NPC_KRASUS = 27990,
+ NPC_KRASUS = 27990
};
enum Misc
@@ -128,7 +128,7 @@ enum Misc
SPELL_SNOWBALL = 21343,
SPELL_ORPHAN_OUT = 58818,
- DISPLAY_INVISIBLE = 11686,
+ DISPLAY_INVISIBLE = 11686
};
uint64 getOrphanGUID(Player* player, uint32 orphan)
@@ -150,9 +150,12 @@ class npc_winterfin_playmate : public CreatureScript
struct npc_winterfin_playmateAI : public ScriptedAI
{
- npc_winterfin_playmateAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_winterfin_playmateAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
timer = 0;
phase = 0;
@@ -160,8 +163,12 @@ class npc_winterfin_playmate : public CreatureScript
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) override
+ void Reset() override
+ {
+ Initialize();
+ }
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
if (Player* player = who->ToPlayer())
@@ -249,9 +256,12 @@ class npc_snowfall_glade_playmate : public CreatureScript
struct npc_snowfall_glade_playmateAI : public ScriptedAI
{
- npc_snowfall_glade_playmateAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_snowfall_glade_playmateAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
timer = 0;
phase = 0;
@@ -259,6 +269,11 @@ class npc_snowfall_glade_playmate : public CreatureScript
orphanGUID = 0;
}
+ void Reset() override
+ {
+ Initialize();
+ }
+
void MoveInLineOfSight(Unit* who) override
{
@@ -331,7 +346,7 @@ class npc_snowfall_glade_playmate : public CreatureScript
uint64 orphanGUID;
};
- CreatureAI* GetAI(Creature* pCreature) const
+ CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_snowfall_glade_playmateAI(pCreature);
}
@@ -349,10 +364,11 @@ class npc_the_biggest_tree : public CreatureScript
{
npc_the_biggest_treeAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
me->SetDisplayId(DISPLAY_INVISIBLE);
}
- void Reset() override
+ void Initialize()
{
timer = 1000;
phase = 0;
@@ -360,8 +376,12 @@ class npc_the_biggest_tree : public CreatureScript
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) override
+ void Reset() override
+ {
+ Initialize();
+ }
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
if (Player* player = who->ToPlayer())
@@ -437,9 +457,12 @@ class npc_high_oracle_soo_roo : public CreatureScript
struct npc_high_oracle_soo_rooAI : public ScriptedAI
{
- npc_high_oracle_soo_rooAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_high_oracle_soo_rooAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
timer = 0;
phase = 0;
@@ -447,6 +470,11 @@ class npc_high_oracle_soo_roo : public CreatureScript
orphanGUID = 0;
}
+ void Reset() override
+ {
+ Initialize();
+ }
+
void MoveInLineOfSight(Unit* who) override
{
@@ -526,9 +554,12 @@ class npc_elder_kekek : public CreatureScript
struct npc_elder_kekekAI : public ScriptedAI
{
- npc_elder_kekekAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_elder_kekekAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
timer = 0;
phase = 0;
@@ -536,8 +567,12 @@ class npc_elder_kekek : public CreatureScript
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) override
+ void Reset() override
+ {
+ Initialize();
+ }
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
if (Player* player = who->ToPlayer())
@@ -615,9 +650,12 @@ class npc_the_etymidian : public CreatureScript
struct npc_the_etymidianAI : public ScriptedAI
{
- npc_the_etymidianAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_the_etymidianAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
timer = 0;
phase = 0;
@@ -625,8 +663,12 @@ class npc_the_etymidian : public CreatureScript
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) override
+ void Reset() override
+ {
+ Initialize();
+ }
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
if (Player* player = who->ToPlayer())
@@ -711,9 +753,12 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
struct npc_alexstraza_the_lifebinderAI : public ScriptedAI
{
- npc_alexstraza_the_lifebinderAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_alexstraza_the_lifebinderAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
timer = 0;
phase = 0;
@@ -721,6 +766,11 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
orphanGUID = 0;
}
+ void Reset() override
+ {
+ Initialize();
+ }
+
void SetData(uint32 type, uint32 data) override
{
// Existing SmartAI
@@ -739,7 +789,6 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
}
void MoveInLineOfSight(Unit* who) override
-
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
if (Player* player = who->ToPlayer())
@@ -871,7 +920,7 @@ class at_bring_your_orphan_to : public AreaTriggerScript
public:
at_bring_your_orphan_to() : AreaTriggerScript("at_bring_your_orphan_to") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* trigger)
+ bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override
{
if (player->isDead() || !player->HasAura(SPELL_ORPHAN_OUT))
return false;
@@ -934,7 +983,6 @@ class npc_cw_area_trigger : public CreatureScript
}
void MoveInLineOfSight(Unit* who) override
-
{
if (who && me->GetDistance2d(who) < 20.0f)
if (Player* player = who->ToPlayer())
@@ -1031,7 +1079,6 @@ class npc_grizzlemaw_cw_trigger : public CreatureScript
}
void MoveInLineOfSight(Unit* who) override
-
{
if (who && who->GetDistance2d(me) < 10.0f)
if (Player* player = who->ToPlayer())
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
index e7beb4cf454..f8ba2ab6646 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
@@ -80,6 +80,7 @@ public:
{
npc_blackfathom_deeps_eventAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
if (creature->IsSummon())
{
creature->SetHomePosition(HomePosition);
@@ -89,6 +90,15 @@ public:
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ Flee = false;
+
+ ravageTimer = urand(5000, 8000);
+ frostNovaTimer = urand(9000, 12000);
+ frostBoltVolleyTimer = urand(2000, 4000);
+ }
+
InstanceScript* instance;
uint32 ravageTimer;
@@ -99,11 +109,7 @@ public:
void Reset() override
{
- Flee = false;
-
- ravageTimer = urand(5000, 8000);
- frostNovaTimer = urand(9000, 12000);
- frostBoltVolleyTimer = urand(2000, 4000);
+ Initialize();
}
void AttackPlayer()
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h
index 07a388043a6..3ac99a32861 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h
@@ -19,6 +19,8 @@
#ifndef BFD_H_
#define BFD_H_
+#define DataHeader "BFD"
+
enum Data64
{
DATA_SHRINE1,
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
index f6c34c6b555..b510a84b949 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
@@ -38,11 +38,19 @@ public:
struct boss_aku_maiAI : public BossAI
{
- boss_aku_maiAI(Creature* creature) : BossAI(creature, TYPE_AKU_MAI) { }
+ boss_aku_maiAI(Creature* creature) : BossAI(creature, TYPE_AKU_MAI)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
IsEnraged = false;
+ }
+
+ void Reset() override
+ {
+ Initialize();
_Reset();
}
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
index 9e25de817fa..0eba1a14fa5 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
@@ -38,16 +38,22 @@ public:
{
boss_gelihastAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ netTimer = urand(2000, 4000);
+ }
+
uint32 netTimer;
InstanceScript* instance;
void Reset() override
{
- netTimer = urand(2000, 4000);
+ Initialize();
instance->SetData(TYPE_GELIHAST, NOT_STARTED);
}
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
index 37fac0fa7de..d5860e4dbf7 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
@@ -43,9 +43,16 @@ public:
{
boss_kelrisAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ mindBlastTimer = urand(2000, 5000);
+ sleepTimer = urand(9000, 12000);
+ }
+
uint32 mindBlastTimer;
uint32 sleepTimer;
@@ -53,8 +60,7 @@ public:
void Reset() override
{
- mindBlastTimer = urand(2000, 5000);
- sleepTimer = urand(9000, 12000);
+ Initialize();
instance->SetData(TYPE_KELRIS, NOT_STARTED);
}
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
index 940da4fcf52..28b414ba9ca 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
@@ -81,6 +81,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&encounter, 0, sizeof(encounter));
twilightLordKelrisGUID = 0;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
index 7aaa2239745..782632602b3 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
@@ -54,10 +54,20 @@ public:
{
boss_anetheronAI(Creature* creature) : hyjal_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
go = false;
}
+ void Initialize()
+ {
+ SwarmTimer = 45000;
+ SleepTimer = 60000;
+ AuraTimer = 5000;
+ InfernoTimer = 45000;
+ damageTaken = 0;
+ }
+
uint32 SwarmTimer;
uint32 SleepTimer;
uint32 AuraTimer;
@@ -66,11 +76,7 @@ public:
void Reset() override
{
- damageTaken = 0;
- SwarmTimer = 45000;
- SleepTimer = 60000;
- AuraTimer = 5000;
- InfernoTimer = 45000;
+ Initialize();
if (IsEvent)
instance->SetData(DATA_ANETHERONEVENT, NOT_STARTED);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
index 576b3dbdb39..2885a838cee 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
@@ -90,7 +90,13 @@ public:
{
npc_ancient_wispAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
+ }
+
+ void Initialize()
+ {
+ CheckTimer = 1000;
ArchimondeGUID = 0;
}
@@ -100,7 +106,7 @@ public:
void Reset() override
{
- CheckTimer = 1000;
+ Initialize();
ArchimondeGUID = instance->GetData64(DATA_ARCHIMONDE);
@@ -174,15 +180,23 @@ public:
struct npc_doomfire_targettingAI : public ScriptedAI
{
- npc_doomfire_targettingAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_doomfire_targettingAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ TargetGUID = 0;
+ ChangeTargetTimer = 5000;
+ }
uint64 TargetGUID;
uint32 ChangeTargetTimer;
void Reset() override
{
- TargetGUID = 0;
- ChangeTargetTimer = 5000;
+ Initialize();
}
void MoveInLineOfSight(Unit* who) override
@@ -244,9 +258,36 @@ public:
{
boss_archimondeAI(Creature* creature) : hyjal_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ DoomfireSpiritGUID = 0;
+ damageTaken = 0;
+ WorldTreeGUID = 0;
+
+ DrainNordrassilTimer = 0;
+ FearTimer = 42000;
+ AirBurstTimer = 30000;
+ GripOfTheLegionTimer = urand(5000, 25000);
+ DoomfireTimer = 20000;
+ SoulChargeTimer = urand(2000, 30000);
+ SoulChargeCount = 0;
+ MeleeRangeCheckTimer = 15000;
+ HandOfDeathTimer = 2000;
+ WispCount = 0; // When ~30 wisps are summoned, Archimonde dies
+ EnrageTimer = 600000; // 10 minutes
+ CheckDistanceTimer = 30000; // This checks if he's too close to the World Tree (75 yards from a point on the tree), if true then he will enrage
+ SummonWispTimer = 0;
+
+ Enraged = false;
+ BelowTenPercent = false;
+ HasProtected = false;
+ IsChanneling = false;
+ }
+
InstanceScript* instance;
uint64 DoomfireSpiritGUID;
@@ -275,28 +316,7 @@ public:
{
instance->SetData(DATA_ARCHIMONDEEVENT, NOT_STARTED);
- DoomfireSpiritGUID = 0;
- damageTaken = 0;
- WorldTreeGUID = 0;
-
- DrainNordrassilTimer = 0;
- FearTimer = 42000;
- AirBurstTimer = 30000;
- GripOfTheLegionTimer = urand(5000, 25000);
- DoomfireTimer = 20000;
- SoulChargeTimer = urand(2000, 30000);
- SoulChargeCount = 0;
- MeleeRangeCheckTimer = 15000;
- HandOfDeathTimer = 2000;
- WispCount = 0; // When ~30 wisps are summoned, Archimonde dies
- EnrageTimer = 600000; // 10 minutes
- CheckDistanceTimer = 30000; // This checks if he's too close to the World Tree (75 yards from a point on the tree), if true then he will enrage
- SummonWispTimer = 0;
-
- Enraged = false;
- BelowTenPercent = false;
- HasProtected = false;
- IsChanneling = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
index 38e398f3d5b..7e50fd7b775 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
@@ -55,10 +55,22 @@ public:
{
boss_azgalorAI(Creature* creature) : hyjal_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
go = false;
}
+ void Initialize()
+ {
+ damageTaken = 0;
+ RainTimer = 20000;
+ DoomTimer = 50000;
+ HowlTimer = 30000;
+ CleaveTimer = 10000;
+ EnrageTimer = 600000;
+ enraged = false;
+ }
+
uint32 RainTimer;
uint32 DoomTimer;
uint32 HowlTimer;
@@ -70,13 +82,7 @@ public:
void Reset() override
{
- damageTaken = 0;
- RainTimer = 20000;
- DoomTimer = 50000;
- HowlTimer = 30000;
- CleaveTimer = 10000;
- EnrageTimer = 600000;
- enraged = false;
+ Initialize();
if (IsEvent)
instance->SetData(DATA_AZGALOREVENT, NOT_STARTED);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
index e08ac61bcde..dcad4480fde 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
@@ -56,10 +56,20 @@ public:
{
boss_kazrogalAI(Creature* creature) : hyjal_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
go = false;
}
+ void Initialize()
+ {
+ damageTaken = 0;
+ CleaveTimer = 5000;
+ WarStompTimer = 15000;
+ MarkTimer = 45000;
+ MarkTimerBase = 45000;
+ }
+
uint32 CleaveTimer;
uint32 WarStompTimer;
uint32 MarkTimer;
@@ -68,11 +78,7 @@ public:
void Reset() override
{
- damageTaken = 0;
- CleaveTimer = 5000;
- WarStompTimer = 15000;
- MarkTimer = 45000;
- MarkTimerBase = 45000;
+ Initialize();
if (IsEvent)
instance->SetData(DATA_KAZROGALEVENT, NOT_STARTED);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
index c37b9d910e7..5ce9b30eb58 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
@@ -51,10 +51,20 @@ public:
{
boss_rage_winterchillAI(Creature* creature) : hyjal_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
go = false;
}
+ void Initialize()
+ {
+ damageTaken = 0;
+ FrostArmorTimer = 37000;
+ DecayTimer = 45000;
+ NovaTimer = 15000;
+ IceboltTimer = 10000;
+ }
+
uint32 FrostArmorTimer;
uint32 DecayTimer;
uint32 NovaTimer;
@@ -63,11 +73,7 @@ public:
void Reset() override
{
- damageTaken = 0;
- FrostArmorTimer = 37000;
- DecayTimer = 45000;
- NovaTimer = 15000;
- IceboltTimer = 10000;
+ Initialize();
if (IsEvent)
instance->SetData(DATA_RAGEWINTERCHILLEVENT, NOT_STARTED);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h
index 7ea09d2cda1..c5f4d4ae679 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h
@@ -19,7 +19,7 @@
#ifndef DEF_HYJAL_H
#define DEF_HYJAL_H
-#define ERROR_INST_DATA "TSCR: Instance data not set properly for Mount Hyjal. Encounters will be buggy."
+#define DataHeader "HY"
uint32 const EncounterCount = 5;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
index b9c6025b91c..a7fa54b12e1 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
@@ -317,6 +317,7 @@ float HordeFirePos[65][8]=//spawn points for the fire visuals (GO) in the horde
hyjalAI::hyjalAI(Creature* creature) : npc_escortAI(creature), Summons(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
VeinsSpawned[0] = false;
VeinsSpawned[1] = false;
@@ -332,25 +333,15 @@ hyjalAI::hyjalAI(Creature* creature) : npc_escortAI(creature), Summons(me)
InfernalPoint = 0;
RespawnTimer = 10000;
DoRespawn = false;
- DoHide = false;
MassTeleportTimer = 0;
DoMassTeleport = false;
+ DummyGuid = 0;
}
-void hyjalAI::JustSummoned(Creature* summoned)
-{
- Summons.Summon(summoned);
-}
-
-void hyjalAI::SummonedCreatureDespawn(Creature* summoned)
-{
- Summons.Despawn(summoned);
-}
-
-void hyjalAI::Reset()
+void hyjalAI::Initialize()
{
IsDummy = false;
- me->setActive(true);
+
// GUIDs
PlayerGUID = 0;
BossGUID[0] = 0;
@@ -365,6 +356,39 @@ void hyjalAI::Reset()
WaveCount = 0;
EnemyCount = 0;
+ //Bools
+ EventBegun = false;
+ FirstBossDead = false;
+ SecondBossDead = false;
+ Summon = false;
+ bRetreat = false;
+ Debug = false;
+
+ //Visibility
+ DoHide = true;
+
+ //Initialize spells
+ memset(Spells, 0, sizeof(Spell) * HYJAL_AI_MAX_SPELLS);
+
+ Faction = 0;
+}
+
+void hyjalAI::JustSummoned(Creature* summoned)
+{
+ Summons.Summon(summoned);
+}
+
+void hyjalAI::SummonedCreatureDespawn(Creature* summoned)
+{
+ Summons.Despawn(summoned);
+}
+
+void hyjalAI::Reset()
+{
+ me->setActive(true);
+
+ Initialize();
+
// Set faction properly based on Creature entry
switch (me->GetEntry())
{
@@ -382,20 +406,9 @@ void hyjalAI::Reset()
break;
}
- //Bools
- EventBegun = false;
- FirstBossDead = false;
- SecondBossDead = false;
- Summon = false;
- bRetreat = false;
- Debug = false;
-
//Flags
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
- //Initialize spells
- memset(Spells, 0, sizeof(Spell) * HYJAL_AI_MAX_SPELLS);
-
//Reset Instance Data for trash count
if ((!instance->GetData(DATA_ALLIANCE_RETREAT) && me->GetEntry() == JAINA) || (instance->GetData(DATA_ALLIANCE_RETREAT) && me->GetEntry() == THRALL))
{
@@ -405,9 +418,6 @@ void hyjalAI::Reset()
instance->DoUpdateWorldState(WORLD_STATE_ENEMYCOUNT, 0);
instance->SetData(DATA_RESET_TRASH_COUNT, 0);
}
-
- //Visibility
- DoHide = true;
}
void hyjalAI::EnterEvadeMode()
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
index c91414eba9d..43afc58879c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
@@ -119,6 +119,8 @@ struct hyjalAI : public npc_escortAI
{
hyjalAI(Creature* creature);
+ void Initialize();
+
void Reset(); // Generically used to reset our variables. Do *not* call in EnterEvadeMode as this may make problems if the raid is still in combat
void EnterEvadeMode(); // Send creature back to spawn location and evade.
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index 7537654c09c..8e1a78ea5f2 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -1135,9 +1135,15 @@ public:
{
npc_frost_wyrmAI(Creature* creature) : hyjal_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
go = false;
- Reset();
+ }
+
+ void Initialize()
+ {
+ FrostBreathTimer = 5000;
+ MoveTimer = 0;
}
bool go;
@@ -1146,8 +1152,7 @@ public:
void Reset() override
{
- FrostBreathTimer = 5000;
- MoveTimer = 0;
+ Initialize();
me->SetDisableGravity(true);
}
@@ -1388,9 +1393,15 @@ public:
{
alliance_riflemanAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
SetCombatMovement(false);
}
+ void Initialize()
+ {
+ ExplodeTimer = 5000 + rand32() % 5000;
+ }
+
uint32 ExplodeTimer;
void JustDied(Unit* /*killer*/) override
@@ -1399,7 +1410,7 @@ public:
void Reset() override
{
- ExplodeTimer = 5000 + rand32() % 5000;
+ Initialize();
}
void MoveInLineOfSight(Unit* who) override
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
index b0a1856f45f..93252802522 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
@@ -60,6 +60,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
m_uiAncientGemGUID.clear();
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
index 44e1067498d..0a666488e84 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
@@ -59,9 +59,20 @@ public:
{
boss_epochAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiStep = 1;
+ uiStepTimer = 26000;
+ uiCurseOfExertionTimer = 9300;
+ uiTimeWarpTimer = 25300;
+ uiTimeStopTimer = 21300;
+ uiWoundingStrikeTimer = 5300;
+ }
+
uint8 uiStep;
uint32 uiStepTimer;
@@ -74,12 +85,7 @@ public:
void Reset() override
{
- uiStep = 1;
- uiStepTimer = 26000;
- uiCurseOfExertionTimer = 9300;
- uiTimeWarpTimer = 25300;
- uiTimeStopTimer = 21300;
- uiWoundingStrikeTimer = 5300;
+ Initialize();
instance->SetData(DATA_EPOCH_EVENT, NOT_STARTED);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
index 6d36a933687..d9356b724c0 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
@@ -73,7 +73,21 @@ public:
{
boss_mal_ganisAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
+ uiOutroStep = 0;
+ }
+
+ void Initialize()
+ {
+ bYelled = false;
+ bYelled2 = false;
+ Phase = COMBAT;
+ uiCarrionSwarmTimer = 6000;
+ uiMindBlastTimer = 11000;
+ uiVampiricTouchTimer = urand(10000, 15000);
+ uiSleepTimer = urand(15000, 20000);
+ uiOutroTimer = 1000;
}
uint32 uiCarrionSwarmTimer;
@@ -93,16 +107,9 @@ public:
void Reset() override
{
- bYelled = false;
- bYelled2 = false;
- Phase = COMBAT;
- uiCarrionSwarmTimer = 6000;
- uiMindBlastTimer = 11000;
- uiVampiricTouchTimer = urand(10000, 15000);
- uiSleepTimer = urand(15000, 20000);
- uiOutroTimer = 1000;
-
- instance->SetData(DATA_MAL_GANIS_EVENT, NOT_STARTED);
+ Initialize();
+
+ instance->SetData(DATA_MAL_GANIS_EVENT, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
index 4c26b30947f..c961bf9b2c6 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
@@ -58,10 +58,18 @@ public:
{
boss_meathookAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
Talk(SAY_SPAWN);
}
+ void Initialize()
+ {
+ uiChainTimer = urand(12000, 17000); //seen on video 13, 17, 15, 12, 16
+ uiDiseaseTimer = urand(2000, 4000); //approx 3s
+ uiFrenzyTimer = urand(21000, 26000); //made it up
+ }
+
uint32 uiChainTimer;
uint32 uiDiseaseTimer;
uint32 uiFrenzyTimer;
@@ -70,9 +78,7 @@ public:
void Reset() override
{
- uiChainTimer = urand(12000, 17000); //seen on video 13, 17, 15, 12, 16
- uiDiseaseTimer = urand(2000, 4000); //approx 3s
- uiFrenzyTimer = urand(21000, 26000); //made it up
+ Initialize();
instance->SetData(DATA_MEATHOOK_EVENT, NOT_STARTED);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
index 7c299b1feaa..1c35a38a5e3 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
@@ -63,10 +63,20 @@ public:
{
boss_salrammAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
Talk(SAY_SPAWN);
}
+ void Initialize()
+ {
+ uiCurseFleshTimer = 30000; //30s DBM
+ uiExplodeGhoulTimer = urand(25000, 28000); //approx 6 sec after summon ghouls
+ uiShadowBoltTimer = urand(8000, 12000); // approx 10s
+ uiStealFleshTimer = 12345;
+ uiSummonGhoulsTimer = urand(19000, 24000); //on a video approx 24s after aggro
+ }
+
uint32 uiCurseFleshTimer;
uint32 uiExplodeGhoulTimer;
uint32 uiShadowBoltTimer;
@@ -77,13 +87,9 @@ public:
void Reset() override
{
- uiCurseFleshTimer = 30000; //30s DBM
- uiExplodeGhoulTimer = urand(25000, 28000); //approx 6 sec after summon ghouls
- uiShadowBoltTimer = urand(8000, 12000); // approx 10s
- uiStealFleshTimer = 12345;
- uiSummonGhoulsTimer = urand(19000, 24000); //on a video approx 24s after aggro
+ Initialize();
- instance->SetData(DATA_SALRAMM_EVENT, NOT_STARTED);
+ instance->SetData(DATA_SALRAMM_EVENT, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
index fd832051421..b8a9b295161 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -351,8 +351,37 @@ public:
{
npc_arthasAI(Creature* creature) : npc_escortAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
- Reset();
+ bStepping = false;
+ step = 0;
+ gossipStep = 0;
+ bossEvent = 0;
+ }
+
+ void Initialize()
+ {
+ utherGUID = 0;
+ jainaGUID = 0;
+
+ for (uint8 i = 0; i < 2; ++i)
+ citymenGUID[i] = 0;
+
+ for (uint8 i = 0; i < ENCOUNTER_WAVES_MAX_SPAWNS; ++i)
+ waveGUID[i] = 0;
+
+ for (uint8 i = 0; i < ENCOUNTER_DRACONIAN_NUMBER; ++i)
+ infiniteDraconianGUID[i] = 0;
+
+ stalkerGUID = 0;
+ bossGUID = 0;
+ epochGUID = 0;
+ malganisGUID = 0;
+ infiniteGUID = 0;
+
+ phaseTimer = 1000;
+ exorcismTimer = 7300;
+ wave = 0;
}
InstanceScript* instance;
@@ -361,7 +390,6 @@ public:
uint32 step;
uint32 phaseTimer;
uint32 gossipStep;
- uint32 playerFaction;
uint32 bossEvent;
uint32 wave;
@@ -381,23 +409,7 @@ public:
void Reset() override
{
- utherGUID = 0;
- jainaGUID = 0;
-
- for (uint8 i = 0; i < 2; ++i)
- citymenGUID[i] = 0;
-
- for (uint8 i = 0; i < ENCOUNTER_WAVES_MAX_SPAWNS; ++i)
- waveGUID[i] = 0;
-
- for (uint8 i = 0; i < ENCOUNTER_DRACONIAN_NUMBER; ++i)
- infiniteDraconianGUID[i] = 0;
-
- stalkerGUID = 0;
- bossGUID = 0;
- epochGUID = 0;
- malganisGUID = 0;
- infiniteGUID = 0;
+ Initialize();
instance->SetData(DATA_ARTHAS_EVENT, NOT_STARTED);
switch (instance->GetData(DATA_ARTHAS_EVENT))
@@ -410,9 +422,6 @@ public:
gossipStep = 0;
break;
}
- phaseTimer = 1000;
- exorcismTimer = 7300;
- wave = 0;
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.h b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.h
index 649d9dbf803..e7d1033e55f 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.h
@@ -18,6 +18,8 @@
#ifndef DEF_CULLING_OF_STRATHOLME_H
#define DEF_CULLING_OF_STRATHOLME_H
+#define DataHeader "CS"
+
enum Data
{
DATA_MEATHOOK_EVENT,
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
index 503166e0b12..7af2b3f63aa 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
@@ -54,6 +54,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
{
instance_culling_of_stratholme_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
_arthasGUID = 0;
_meathookGUID = 0;
_salrammGUID = 0;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
index b63075b681a..611ef38d626 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
@@ -61,9 +61,20 @@ public:
{
boss_captain_skarlocAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ Holy_Light_Timer = urand(20000, 30000);
+ Cleanse_Timer = 10000;
+ HammerOfJustice_Timer = urand(20000, 35000);
+ HolyShield_Timer = 240000;
+ DevotionAura_Timer = 3000;
+ Consecration_Timer = 8000;
+ }
+
InstanceScript* instance;
uint32 Holy_Light_Timer;
@@ -75,12 +86,7 @@ public:
void Reset() override
{
- Holy_Light_Timer = urand(20000, 30000);
- Cleanse_Timer = 10000;
- HammerOfJustice_Timer = urand(20000, 35000);
- HolyShield_Timer = 240000;
- DevotionAura_Timer = 3000;
- Consecration_Timer = 8000;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
index e27dec09802..1916e184dbb 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
@@ -59,9 +59,18 @@ public:
{
boss_epoch_hunterAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ SandBreath_Timer = urand(8000, 16000);
+ ImpendingDeath_Timer = urand(25000, 30000);
+ WingBuffet_Timer = 35000;
+ Mda_Timer = 40000;
+ }
+
InstanceScript* instance;
uint32 SandBreath_Timer;
@@ -71,10 +80,7 @@ public:
void Reset() override
{
- SandBreath_Timer = urand(8000, 16000);
- ImpendingDeath_Timer = urand(25000, 30000);
- WingBuffet_Timer = 35000;
- Mda_Timer = 40000;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
index 2cf5169b530..8d23cf0a3e4 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
@@ -114,7 +114,21 @@ public:
struct boss_lieutenant_drakeAI : public ScriptedAI
{
- boss_lieutenant_drakeAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_lieutenant_drakeAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ CanPatrol = true;
+ wpId = 0;
+
+ Whirlwind_Timer = 20000;
+ Fear_Timer = 30000;
+ MortalStrike_Timer = 45000;
+ ExplodingShout_Timer = 25000;
+ }
bool CanPatrol;
uint32 wpId;
@@ -126,13 +140,7 @@ public:
void Reset() override
{
- CanPatrol = true;
- wpId = 0;
-
- Whirlwind_Timer = 20000;
- Fear_Timer = 30000;
- MortalStrike_Timer = 45000;
- ExplodingShout_Timer = 25000;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
index 6fc36663c2a..32062be6f3c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
@@ -64,6 +64,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
mBarrelCount = 0;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
index 1dc86cd4ad4..56e95fafece 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
@@ -276,11 +276,17 @@ public:
{
npc_thrall_old_hillsbradAI(Creature* creature) : npc_escortAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
HadMount = false;
me->setActive(true);
}
+ void Initialize()
+ {
+ LowHp = false;
+ }
+
InstanceScript* instance;
bool LowHp;
@@ -451,7 +457,7 @@ public:
void Reset() override
{
- LowHp = false;
+ Initialize();
if (HadMount)
DoMount();
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.h b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.h
index 57b0a1fce85..b8a0909e99e 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.h
@@ -19,6 +19,8 @@
#ifndef DEF_OLD_HILLSBRAD_H
#define DEF_OLD_HILLSBRAD_H
+#define DataHeader "OH"
+
enum DataTypes
{
TYPE_BARREL_DIVERSION = 1,
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
index 3e776a0c905..35497b1f9ce 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
@@ -94,6 +94,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
_medivhGUID = 0;
Clear();
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
index a1c4f057161..1fa104ada00 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
@@ -77,9 +77,19 @@ public:
{
npc_medivh_bmAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ SpellCorrupt_Timer = 0;
+ Check_Timer = 0;
+ Life75 = true;
+ Life50 = true;
+ Life25 = true;
+ }
+
InstanceScript* instance;
uint32 SpellCorrupt_Timer;
@@ -91,11 +101,7 @@ public:
void Reset() override
{
- SpellCorrupt_Timer = 0;
- Check_Timer = 0;
- Life75 = true;
- Life50 = true;
- Life25 = true;
+ Initialize();
if (instance->GetData(TYPE_MEDIVH) == IN_PROGRESS)
DoCast(me, SPELL_CHANNEL, true);
@@ -265,23 +271,28 @@ public:
{
npc_time_riftAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ TimeRiftWave_Timer = 15000;
+ mRiftWaveCount = 0;
+ mWaveId = 0;
+ }
+
InstanceScript* instance;
uint32 TimeRiftWave_Timer;
uint8 mRiftWaveCount;
- uint8 mPortalCount;
uint8 mWaveId;
void Reset() override
{
+ Initialize();
- TimeRiftWave_Timer = 15000;
- mRiftWaveCount = 0;
-
- mPortalCount = instance->GetData(DATA_PORTAL_COUNT);
+ uint8 mPortalCount = instance->GetData(DATA_PORTAL_COUNT);
if (mPortalCount < 6)
mWaveId = 0;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h
index 25f10f22907..b236c5eaa6c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h
@@ -19,6 +19,8 @@
#ifndef DEF_THEBLACKMORASS_H
#define DEF_THEBLACKMORASS_H
+#define DataHeader "TBM"
+
uint32 const EncounterCount = 2;
enum DataTypes
diff --git a/src/server/scripts/Kalimdor/Firelands/firelands.h b/src/server/scripts/Kalimdor/Firelands/firelands.h
index d02d244dfc6..b6387e40687 100644
--- a/src/server/scripts/Kalimdor/Firelands/firelands.h
+++ b/src/server/scripts/Kalimdor/Firelands/firelands.h
@@ -21,6 +21,7 @@
#include "Map.h"
#include "CreatureAI.h"
+#define DataHeader "FL"
#define FirelandsScriptName "instance_firelands"
uint32 const EncounterCount = 7;
diff --git a/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp b/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp
index f53a749c777..bca31964d24 100644
--- a/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp
+++ b/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp
@@ -28,10 +28,7 @@ class instance_firelands : public InstanceMapScript
{
instance_firelands_InstanceScript(InstanceMap* map) : InstanceScript(map)
{
- }
-
- void Initialize() override
- {
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
}
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h b/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h
index 9c05ed49c05..0359b0fe85a 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h
@@ -18,6 +18,7 @@
#ifndef HALLS_OF_ORIGINATION_H
#define HALLS_OF_ORIGINATION_H
+#define DataHeader "HOO"
#define HoOScriptName "instance_halls_of_origination"
uint32 const EncounterCount = 12;
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
index a8c1c4f6108..3273d3d7850 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
@@ -53,6 +53,7 @@ class instance_halls_of_origination : public InstanceMapScript
{
instance_halls_of_origination_InstanceMapScript(InstanceMap* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
TempleGuardianAnhuurGUID = 0;
@@ -211,50 +212,16 @@ class instance_halls_of_origination : public InstanceMapScript
}
}
- std::string GetSaveData() override
+ void WriteSaveDataMore(std::ostringstream& data) override
{
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "H O " << GetBossSaveData() << _deadElementals;
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
+ data << _deadElementals;
}
- void Load(const char* str) override
+ void ReadSaveDataMore(std::istringstream& data) override
{
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'H' && dataHead2 == 'O')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- uint32 tmp;
- loadStream >> tmp;
- IncreaseDeadElementals(tmp);
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
+ uint32 deadElementals;
+ data >> deadElementals;
+ IncreaseDeadElementals(deadElementals);
}
protected:
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
index 15330643bd3..b8eb489461c 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
@@ -45,7 +45,17 @@ public:
struct celebras_the_cursedAI : public ScriptedAI
{
- celebras_the_cursedAI(Creature* creature) : ScriptedAI(creature) { }
+ celebras_the_cursedAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ WrathTimer = 8000;
+ EntanglingRootsTimer = 2000;
+ CorruptForcesTimer = 30000;
+ }
uint32 WrathTimer;
uint32 EntanglingRootsTimer;
@@ -53,9 +63,7 @@ public:
void Reset() override
{
- WrathTimer = 8000;
- EntanglingRootsTimer = 2000;
- CorruptForcesTimer = 30000;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override { }
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
index 12016d2223a..59bcdc89171 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
@@ -45,7 +45,17 @@ public:
struct boss_landslideAI : public ScriptedAI
{
- boss_landslideAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_landslideAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ KnockAwayTimer = 8000;
+ TrampleTimer = 2000;
+ LandslideTimer = 0;
+ }
uint32 KnockAwayTimer;
uint32 TrampleTimer;
@@ -53,9 +63,7 @@ public:
void Reset() override
{
- KnockAwayTimer = 8000;
- TrampleTimer = 2000;
- LandslideTimer = 0;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
index 8c7197b2942..a7aa487db90 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
@@ -44,7 +44,19 @@ public:
struct boss_noxxionAI : public ScriptedAI
{
- boss_noxxionAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_noxxionAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ ToxicVolleyTimer = 7000;
+ UppercutTimer = 16000;
+ AddsTimer = 19000;
+ InvisibleTimer = 15000; //Too much too low?
+ Invisible = false;
+ }
uint32 ToxicVolleyTimer;
uint32 UppercutTimer;
@@ -54,11 +66,7 @@ public:
void Reset() override
{
- ToxicVolleyTimer = 7000;
- UppercutTimer = 16000;
- AddsTimer = 19000;
- InvisibleTimer = 15000; //Too much too low?
- Invisible = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override { }
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
index 0d48d8f43c6..a36e8f09d21 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
@@ -47,7 +47,18 @@ public:
struct boss_ptheradrasAI : public ScriptedAI
{
- boss_ptheradrasAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_ptheradrasAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ DustfieldTimer = 8000;
+ BoulderTimer = 2000;
+ ThrashTimer = 5000;
+ RepulsiveGazeTimer = 23000;
+ }
uint32 DustfieldTimer;
uint32 BoulderTimer;
@@ -56,10 +67,7 @@ public:
void Reset() override
{
- DustfieldTimer = 8000;
- BoulderTimer = 2000;
- ThrashTimer = 5000;
- RepulsiveGazeTimer = 23000;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override { }
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
index f04b5634616..347c87b160b 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
@@ -111,6 +111,7 @@ static OnyxMove MoveData[8]=
Position const MiddleRoomLocation = {-23.6155f, -215.357f, -55.7344f, 0.0f};
Position const Phase2Location = {-80.924f, -214.299f, -82.942f, 0.0f};
+Position const Phase2Floating = { -80.924f, -214.299f, -57.942f, 0.0f };
Position const SpawnLocations[3]=
{
@@ -128,7 +129,7 @@ public:
struct boss_onyxiaAI : public BossAI
{
- boss_onyxiaAI(Creature* creature) : BossAI(creature, DATA_ONYXIA), Summons(me)
+ boss_onyxiaAI(Creature* creature) : BossAI(creature, DATA_ONYXIA)
{
Reset();
}
@@ -138,16 +139,16 @@ public:
if (!IsCombatMovementAllowed())
SetCombatMovement(true);
+ _Reset();
+
Phase = PHASE_START;
MovePoint = urand(0, 5);
PointData = GetMoveData();
- Summons.DespawnAll();
SummonWhelpCount = 0;
IsMoving = false;
- instance->SetBossState(DATA_ONYXIA, NOT_STARTED);
instance->SetData(DATA_ONYXIA_PHASE, Phase);
- instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
+ instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
void EnterCombat(Unit* /*who*/) override
@@ -155,20 +156,15 @@ public:
Talk(SAY_AGGRO);
me->SetInCombatWithZone();
- events.ScheduleEvent(EVENT_FLAME_BREATH, urand (10000, 20000));
- events.ScheduleEvent(EVENT_TAIL_SWEEP, urand (15000, 20000));
- events.ScheduleEvent(EVENT_CLEAVE, urand (2000, 5000));
- events.ScheduleEvent(EVENT_WING_BUFFET, urand (10000, 20000));
-
- instance->SetBossState(DATA_ONYXIA, IN_PROGRESS);
- instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
- }
+ events.Reset();
- void JustDied(Unit* /*killer*/) override
- {
- instance->SetBossState(DATA_ONYXIA, DONE);
+ events.ScheduleEvent(EVENT_FLAME_BREATH, urand(10000, 20000));
+ events.ScheduleEvent(EVENT_TAIL_SWEEP, urand(15000, 20000));
+ events.ScheduleEvent(EVENT_CLEAVE, urand(2000, 5000));
+ events.ScheduleEvent(EVENT_WING_BUFFET, urand(10000, 20000));
- Summons.DespawnAll();
+ instance->SetBossState(DATA_ONYXIA, IN_PROGRESS);
+ instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
void JustSummoned(Creature* summoned) override
@@ -186,13 +182,9 @@ public:
summoned->setActive(true);
break;
}
- Summons.Summon(summoned);
+ summons.Summon(summoned);
}
- void SummonedCreatureDespawn(Creature* summon) override
- {
- Summons.Despawn(summon);
- }
void KilledUnit(Unit* /*victim*/) override
{
@@ -231,22 +223,43 @@ public:
}
break;
case 9:
- me->GetMotionMaster()->MoveChase(me->GetVictim());
- events.ScheduleEvent(EVENT_BELLOWING_ROAR, 1000);
+ me->SetCanFly(false);
+ me->SetDisableGravity(false);
+ me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER);
+ if (Creature* trigger = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TRIGGER_GUID)))
+ me->Kill(trigger);
+ me->SetReactState(REACT_AGGRESSIVE);
+ // tank selection based on phase one. If tank is not there i take nearest one
+ if (Unit* tank = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_TANK_GUID)))
+ me->GetMotionMaster()->MoveChase(tank);
+ else if (Unit* newtarget = SelectTarget(SELECT_TARGET_NEAREST, 0))
+ me->GetMotionMaster()->MoveChase(newtarget);
+ events.ScheduleEvent(EVENT_BELLOWING_ROAR, 5000);
+ events.ScheduleEvent(EVENT_FLAME_BREATH, urand(10000, 20000));
+ events.ScheduleEvent(EVENT_TAIL_SWEEP, urand(15000, 20000));
+ events.ScheduleEvent(EVENT_CLEAVE, urand(2000, 5000));
+ events.ScheduleEvent(EVENT_WING_BUFFET, urand(15000, 30000));
break;
case 10:
me->SetCanFly(true);
- me->GetMotionMaster()->MovePoint(11, Phase2Location.GetPositionX(), Phase2Location.GetPositionY(), Phase2Location.GetPositionZ()+25);
+ me->SetDisableGravity(true);
+ me->SetByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER);
+ me->SetFacingTo(me->GetOrientation() + float(M_PI));
+ if (Creature * trigger = me->SummonCreature(NPC_TRIGGER, MiddleRoomLocation, TEMPSUMMON_CORPSE_DESPAWN))
+ instance->SetData64(DATA_TRIGGER_GUID, trigger->GetGUID());
+ me->GetMotionMaster()->MoveTakeoff(11, Phase2Floating);
me->SetSpeed(MOVE_FLIGHT, 1.0f);
Talk(SAY_PHASE_2_TRANS);
instance->SetData(DATA_ONYXIA_PHASE, Phase);
events.ScheduleEvent(EVENT_WHELP_SPAWN, 5000);
events.ScheduleEvent(EVENT_LAIR_GUARD, 15000);
+ events.ScheduleEvent(EVENT_DEEP_BREATH, 75000);
+ events.ScheduleEvent(EVENT_MOVEMENT, 10000);
+ events.ScheduleEvent(EVENT_FIREBALL, 18000);
break;
case 11:
if (PointData)
me->GetMotionMaster()->MovePoint(PointData->LocId, PointData->fX, PointData->fY, PointData->fZ);
- me->GetMotionMaster()->Clear(false);
me->GetMotionMaster()->MoveIdle();
break;
default:
@@ -272,13 +285,13 @@ public:
(Spell->Id >= 22267 && Spell->Id <= 22268)) &&
(target->GetTypeId() == TYPEID_PLAYER))
{
- instance->SetData(DATA_SHE_DEEP_BREATH_MORE, FAIL);
+ instance->SetData(DATA_SHE_DEEP_BREATH_MORE, FAIL);
}
}
OnyxMove* GetMoveData()
{
- uint8 MaxCount = sizeof(MoveData)/sizeof(OnyxMove);
+ uint8 MaxCount = sizeof(MoveData) / sizeof(OnyxMove);
for (uint8 i = 0; i < MaxCount; ++i)
{
@@ -291,9 +304,9 @@ public:
void SetNextRandomPoint()
{
- uint8 MaxCount = sizeof(MoveData)/sizeof(OnyxMove);
+ uint8 MaxCount = sizeof(MoveData) / sizeof(OnyxMove);
- uint8 iTemp = urand(0, MaxCount-1);
+ uint8 iTemp = urand(0, MaxCount - 1);
if (iTemp >= MovePoint)
++iTemp;
@@ -312,15 +325,13 @@ public:
//Specific to PHASE_START || PHASE_END
if (Phase == PHASE_START)
{
- if (HealthBelowPct(60))
+ if (HealthBelowPct(65))
{
SetCombatMovement(false);
Phase = PHASE_BREATH;
- events.ScheduleEvent(EVENT_DEEP_BREATH, 85000);
- events.ScheduleEvent(EVENT_MOVEMENT, 14000);
- events.ScheduleEvent(EVENT_FIREBALL, 15000);
- events.ScheduleEvent(EVENT_LAIR_GUARD, 60000);
- events.ScheduleEvent(EVENT_WHELP_SPAWN, 60000);
+ instance->SetData64(DATA_TANK_GUID, me->GetVictim()->GetGUID());
+ me->SetReactState(REACT_PASSIVE);
+ me->AttackStop();
me->GetMotionMaster()->MovePoint(10, Phase2Location);
return;
}
@@ -347,19 +358,19 @@ public:
}
case EVENT_FLAME_BREATH: // Phase PHASE_START and PHASE_END
DoCastVictim(SPELL_FLAME_BREATH);
- events.ScheduleEvent(EVENT_FLAME_BREATH, urand (10000, 20000));
+ events.ScheduleEvent(EVENT_FLAME_BREATH, urand(10000, 20000));
break;
case EVENT_TAIL_SWEEP: // Phase PHASE_START and PHASE_END
DoCastAOE(SPELL_TAIL_SWEEP);
- events.ScheduleEvent(EVENT_TAIL_SWEEP, urand (15000, 20000));
+ events.ScheduleEvent(EVENT_TAIL_SWEEP, urand(15000, 20000));
break;
case EVENT_CLEAVE: // Phase PHASE_START and PHASE_END
DoCastVictim(SPELL_CLEAVE);
- events.ScheduleEvent(EVENT_CLEAVE, urand (2000, 5000));
+ events.ScheduleEvent(EVENT_CLEAVE, urand(2000, 5000));
break;
case EVENT_WING_BUFFET: // Phase PHASE_START and PHASE_END
DoCastVictim(SPELL_WING_BUFFET);
- events.ScheduleEvent(EVENT_WING_BUFFET, urand (15000, 30000));
+ events.ScheduleEvent(EVENT_WING_BUFFET, urand(15000, 30000));
break;
default:
break;
@@ -374,15 +385,18 @@ public:
Phase = PHASE_END;
instance->SetData(DATA_ONYXIA_PHASE, PHASE_END);
Talk(SAY_PHASE_3_TRANS);
-
SetCombatMovement(true);
- me->SetCanFly(false);
IsMoving = false;
- me->GetMotionMaster()->MovePoint(9, me->GetHomePosition());
+ Position const pos = me->GetHomePosition();
+ me->GetMotionMaster()->MovePoint(9, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ() + 12.0f);
events.ScheduleEvent(EVENT_BELLOWING_ROAR, 30000);
return;
}
+ if (!me->isMoving())
+ if (Creature* trigger = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TRIGGER_GUID)))
+ me->SetFacingToObject(trigger);
+
events.Update(diff);
while (uint32 eventId = events.ExecuteEvent())
@@ -398,8 +412,10 @@ public:
Talk(EMOTE_BREATH);
if (PointData) /// @todo: In what cases is this null? What should we do?
DoCast(me, PointData->SpellId);
- events.ScheduleEvent(EVENT_DEEP_BREATH, 70000);
+ events.ScheduleEvent(EVENT_DEEP_BREATH, 75000);
}
+ else
+ events.ScheduleEvent(EVENT_DEEP_BREATH, 1000);
break;
case EVENT_MOVEMENT: // Phase PHASE_BREATH
if (!IsMoving && !(me->HasUnitState(UNIT_STATE_CASTING)))
@@ -414,18 +430,21 @@ public:
IsMoving = true;
events.ScheduleEvent(EVENT_MOVEMENT, 25000);
}
+ else
+ events.ScheduleEvent(EVENT_MOVEMENT, 500);
break;
case EVENT_FIREBALL: // Phase PHASE_BREATH
- if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() != POINT_MOTION_TYPE)
+ if (!IsMoving)
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_FIREBALL);
-
events.ScheduleEvent(EVENT_FIREBALL, 8000);
}
+ else
+ events.ScheduleEvent(EVENT_FIREBALL, 1000);
break;
case EVENT_LAIR_GUARD: // Phase PHASE_BREATH
- me->SummonCreature(NPC_LAIRGUARD, SpawnLocations[2], TEMPSUMMON_CORPSE_DESPAWN);
+ me->SummonCreature(NPC_LAIRGUARD, SpawnLocations[2], TEMPSUMMON_CORPSE_DESPAWN);
events.ScheduleEvent(EVENT_LAIR_GUARD, 30000);
break;
case EVENT_WHELP_SPAWN: // Phase PHASE_BREATH
@@ -437,7 +456,7 @@ public:
events.ScheduleEvent(EVENT_WHELP_SPAWN, 90000);
}
else
- events.ScheduleEvent(EVENT_WHELP_SPAWN, 500);
+ events.ScheduleEvent(EVENT_WHELP_SPAWN, 500);
break;
default:
break;
@@ -447,7 +466,6 @@ public:
}
private:
- SummonList Summons;
OnyxMove* PointData;
uint8 Phase;
uint8 MovePoint;
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
index e6a08ade87f..61b57d181a3 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
@@ -50,9 +50,12 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
onyxiaGUID = 0;
+ triggerGUID = 0;
+ tankGUID = 0;
onyxiaLiftoffTimer = 0;
manyWhelpsCounter = 0;
eruptTimer = 0;
@@ -181,6 +184,12 @@ public:
FloorEruptionGUIDQueue.push(data);
eruptTimer = 2500;
break;
+ case DATA_TRIGGER_GUID:
+ triggerGUID = data;
+ break;
+ case DATA_TANK_GUID:
+ tankGUID = data;
+ break;
}
}
@@ -190,6 +199,13 @@ public:
{
case NPC_ONYXIA:
return onyxiaGUID;
+ break;
+ case DATA_TRIGGER_GUID:
+ return triggerGUID;
+ break;
+ case DATA_TANK_GUID:
+ return tankGUID;
+ break;
}
return 0;
@@ -250,59 +266,17 @@ public:
return false;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "O L " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* strIn) override
- {
- if (!strIn)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(strIn);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(strIn);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'O' && dataHead2 == 'L')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
- protected:
- std::map<uint64, uint32> FloorEruptionGUID[2];
- std::queue<uint64> FloorEruptionGUIDQueue;
- uint64 onyxiaGUID;
- uint32 onyxiaLiftoffTimer;
- uint32 manyWhelpsCounter;
- uint32 eruptTimer;
- bool achievManyWhelpsHandleIt;
- bool achievSheDeepBreathMore;
+ protected:
+ std::map<uint64, uint32> FloorEruptionGUID[2];
+ std::queue<uint64> FloorEruptionGUIDQueue;
+ uint64 onyxiaGUID;
+ uint64 triggerGUID;
+ uint64 tankGUID;
+ uint32 onyxiaLiftoffTimer;
+ uint32 manyWhelpsCounter;
+ uint32 eruptTimer;
+ bool achievManyWhelpsHandleIt;
+ bool achievSheDeepBreathMore;
};
};
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h b/src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h
index cacbd8b2787..0c423f35de6 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h
@@ -18,6 +18,8 @@
#ifndef DEF_ONYXIAS_LAIR_H
#define DEF_ONYXIAS_LAIR_H
+#define DataHeader "OL"
+
uint32 const EncounterCount = 1;
enum DataTypes
@@ -35,7 +37,9 @@ enum Data32
enum Data64
{
DATA_ONYXIA_GUID = 0,
- DATA_FLOOR_ERUPTION_GUID = 1
+ DATA_FLOOR_ERUPTION_GUID = 1,
+ DATA_TRIGGER_GUID = 2,
+ DATA_TANK_GUID = 3
};
enum OnyxiaPhases
@@ -49,7 +53,8 @@ enum CreatureIds
{
NPC_WHELP = 11262,
NPC_LAIRGUARD = 36561,
- NPC_ONYXIA = 10184
+ NPC_ONYXIA = 10184,
+ NPC_TRIGGER = 14495
};
enum GameObjectIds
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
index e0a30eba2c9..ba7934e18a3 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
@@ -50,14 +50,22 @@ public:
struct boss_amnennar_the_coldbringerAI : public BossAI
{
- boss_amnennar_the_coldbringerAI(Creature* creature) : BossAI(creature, DATA_AMNENNAR_THE_COLD_BRINGER) { }
+ boss_amnennar_the_coldbringerAI(Creature* creature) : BossAI(creature, DATA_AMNENNAR_THE_COLD_BRINGER)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
- _Reset();
hp60Spectrals = false;
hp30Spectrals = false;
- hp50 = false;
+ hp50 = false;
+ }
+
+ void Reset() override
+ {
+ _Reset();
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
index f7f4b035614..ca5e6a9828c 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
@@ -53,6 +53,7 @@ public:
{
instance_razorfen_downs_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
}
@@ -167,62 +168,17 @@ public:
}
break;
}
-
}
-
- }
-
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "R D " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'R' && dataHead2 == 'D')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
}
- protected:
- uint64 goGongGUID;
- uint16 gongWave;
- uint8 fiendsKilled;
- uint8 reaversKilled;
- uint8 summonLowRange;
- uint8 summonHighRange;
- uint32 summonCreature;
+ protected:
+ uint64 goGongGUID;
+ uint16 gongWave;
+ uint8 fiendsKilled;
+ uint8 reaversKilled;
+ uint8 summonLowRange;
+ uint8 summonHighRange;
+ uint32 summonCreature;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.h b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.h
index a9a5a82f127..d77c48b8af0 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.h
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.h
@@ -19,6 +19,7 @@
#define DEF_RAZORFEN_DOWNS_H
#define RFDScriptName "instance_razorfen_downs"
+#define DataHeader "RFD"
uint32 const EncounterCount = 5;
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
index 705b0231e82..6f9ba0afa7b 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
@@ -49,6 +49,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
WardKeeperDeath = 0;
DoorWardGUID = 0;
}
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h
index 236d06fee52..6d960d6146d 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h
@@ -19,5 +19,7 @@
#ifndef DEF_RAZORFEN_KRAUL_H
#define DEF_RAZORFEN_KRAUL_H
+#define DataHeader "RFK"
+
#define EVENT_WARD_KEEPER 1
#endif
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
index 162ce9b5359..19cc5316fa4 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
@@ -80,13 +80,19 @@ class boss_ayamiss : public CreatureScript
{
boss_ayamissAI(Creature* creature) : BossAI(creature, DATA_AYAMISS)
{
+ Initialize();
}
- void Reset() override
+ void Initialize()
{
- _Reset();
_phase = PHASE_AIR;
_enraged = false;
+ }
+
+ void Reset() override
+ {
+ _Reset();
+ Initialize();
SetCombatMovement(false);
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
index ac490b1440d..cf6703a01f5 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
@@ -69,6 +69,7 @@ class boss_buru : public CreatureScript
{
boss_buruAI(Creature* creature) : BossAI(creature, DATA_BURU)
{
+ _phase = 0;
}
void EnterEvadeMode() override
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
index f0e582dee95..adb6723d2af 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
@@ -53,12 +53,18 @@ class boss_kurinnaxx : public CreatureScript
{
boss_kurinnaxxAI(Creature* creature) : BossAI(creature, DATA_KURINNAXX)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _enraged = false;
}
void Reset() override
{
_Reset();
- _enraged = false;
+ Initialize();
events.ScheduleEvent(EVENT_MORTAL_WOUND, 8000);
events.ScheduleEvent(EVENT_SANDTRAP, urand(5000, 15000));
events.ScheduleEvent(EVENT_TRASH, 1000);
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
index e123a84f88e..65de64fe6c5 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
@@ -60,13 +60,19 @@ class boss_moam : public CreatureScript
{
boss_moamAI(Creature* creature) : BossAI(creature, DATA_MOAM)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _isStonePhase = false;
}
void Reset() override
{
_Reset();
me->SetPower(POWER_MANA, 0);
- _isStonePhase = false;
+ Initialize();
events.ScheduleEvent(EVENT_STONE_PHASE, 90000);
//events.ScheduleEvent(EVENT_WIDE_SLASH, 11000);
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
index 256f76337b4..0180bbeddac 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
@@ -88,9 +88,17 @@ class boss_ossirian : public CreatureScript
{
boss_ossirianAI(Creature* creature) : BossAI(creature, DATA_OSSIRIAN)
{
+ Initialize();
SaidIntro = false;
}
+ void Initialize()
+ {
+ CrystalIterator = 0;
+ TriggerGUID = 0;
+ CrystalGUID = 0;
+ }
+
uint64 TriggerGUID;
uint64 CrystalGUID;
uint8 CrystalIterator;
@@ -99,9 +107,7 @@ class boss_ossirian : public CreatureScript
void Reset() override
{
_Reset();
- CrystalIterator = 0;
- TriggerGUID = 0;
- CrystalGUID = 0;
+ Initialize();
}
void SpellHit(Unit* caster, SpellInfo const* spell) override
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
index 0bb35f3842a..8369c343de4 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
@@ -65,12 +65,18 @@ class boss_rajaxx : public CreatureScript
{
boss_rajaxxAI(Creature* creature) : BossAI(creature, DATA_RAJAXX)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ enraged = false;
}
void Reset() override
{
_Reset();
- enraged = false;
+ Initialize();
events.ScheduleEvent(EVENT_DISARM, 10000);
events.ScheduleEvent(EVENT_THUNDERCRASH, 12000);
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
index 3da7e5b833f..1b62527dab7 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
@@ -28,6 +28,7 @@ class instance_ruins_of_ahnqiraj : public InstanceMapScript
{
instance_ruins_of_ahnqiraj_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(NUM_ENCOUNTER);
_kurinaxxGUID = 0;
@@ -101,49 +102,6 @@ class instance_ruins_of_ahnqiraj : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "R A" << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* data)
- {
- if (!data)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(data);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(data);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'R' && dataHead2 == 'A')
- {
- for (uint8 i = 0; i < NUM_ENCOUNTER; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > TO_BE_DECIDED)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
private:
uint64 _kurinaxxGUID;
uint64 _rajaxxGUID;
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h
index 8d32bd61740..34c678474ec 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h
@@ -18,6 +18,8 @@
#ifndef DEF_RUINS_OF_AHNQIRAJ_H
#define DEF_RUINS_OF_AHNQIRAJ_H
+#define DataHeader "AQR"
+
enum DataTypes
{
DATA_KURINNAXX = 0,
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
index 189cb7854ad..be103541989 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
@@ -55,9 +55,20 @@ public:
{
boss_kriAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ Cleave_Timer = urand(4000, 8000);
+ ToxicVolley_Timer = urand(6000, 12000);
+ Check_Timer = 2000;
+
+ VemDead = false;
+ Death = false;
+ }
+
InstanceScript* instance;
uint32 Cleave_Timer;
@@ -69,12 +80,7 @@ public:
void Reset() override
{
- Cleave_Timer = urand(4000, 8000);
- ToxicVolley_Timer = urand(6000, 12000);
- Check_Timer = 2000;
-
- VemDead = false;
- Death = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
@@ -148,9 +154,19 @@ public:
{
boss_vemAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ Charge_Timer = urand(15000, 27000);
+ KnockBack_Timer = urand(8000, 20000);
+ Enrage_Timer = 120000;
+
+ Enraged = false;
+ }
+
InstanceScript* instance;
uint32 Charge_Timer;
@@ -161,11 +177,7 @@ public:
void Reset() override
{
- Charge_Timer = urand(15000, 27000);
- KnockBack_Timer = urand(8000, 20000);
- Enrage_Timer = 120000;
-
- Enraged = false;
+ Initialize();
}
void JustDied(Unit* /*killer*/) override
@@ -237,9 +249,19 @@ public:
{
boss_yaujAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ Heal_Timer = urand(25000, 40000);
+ Fear_Timer = urand(12000, 24000);
+ Check_Timer = 2000;
+
+ VemDead = false;
+ }
+
InstanceScript* instance;
uint32 Heal_Timer;
@@ -250,11 +272,7 @@ public:
void Reset() override
{
- Heal_Timer = urand(25000, 40000);
- Fear_Timer = urand(12000, 24000);
- Check_Timer = 2000;
-
- VemDead = false;
+ Initialize();
}
void JustDied(Unit* /*killer*/) override
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
index 2cfd977fe99..c9795133d14 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
@@ -160,11 +160,29 @@ public:
{
eye_of_cthunAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
SetCombatMovement(false);
}
+ void Initialize()
+ {
+ //Phase information
+ PhaseTimer = 50000; //First dark glare in 50 seconds
+
+ //Eye beam phase 50 seconds
+ BeamTimer = 3000;
+ EyeTentacleTimer = 45000; //Always spawns 5 seconds before Dark Beam
+ ClawTentacleTimer = 12500; //4 per Eye beam phase (unsure if they spawn during Dark beam)
+
+ //Dark Beam phase 35 seconds (each tick = 1 second, 35 ticks)
+ DarkGlareTick = 0;
+ DarkGlareTickTimer = 1000;
+ DarkGlareAngle = 0;
+ ClockWise = false;
+ }
+
InstanceScript* instance;
//Global variables
@@ -183,19 +201,7 @@ public:
void Reset() override
{
- //Phase information
- PhaseTimer = 50000; //First dark glare in 50 seconds
-
- //Eye beam phase 50 seconds
- BeamTimer = 3000;
- EyeTentacleTimer = 45000; //Always spawns 5 seconds before Dark Beam
- ClawTentacleTimer = 12500; //4 per Eye beam phase (unsure if they spawn during Dark beam)
-
- //Dark Beam phase 35 seconds (each tick = 1 second, 35 ticks)
- DarkGlareTick = 0;
- DarkGlareTickTimer = 1000;
- DarkGlareAngle = 0;
- ClockWise = false;
+ Initialize();
//Reset flags
me->RemoveAurasDueToSpell(SPELL_RED_COLORATION);
@@ -454,11 +460,34 @@ public:
{
cthunAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
SetCombatMovement(false);
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ //One random wisper every 90 - 300 seconds
+ WisperTimer = 90000;
+
+ //Phase information
+ PhaseTimer = 10000; //Emerge in 10 seconds
+
+ //No hold player for transition
+ HoldPlayer = 0;
+
+ //Body Phase
+ EyeTentacleTimer = 30000;
+ FleshTentaclesKilled = 0;
+ GiantClawTentacleTimer = 15000; //15 seconds into body phase (1 min repeat)
+ GiantEyeTentacleTimer = 45000; //15 seconds into body phase (1 min repeat)
+ StomachAcidTimer = 4000; //Every 4 seconds
+ StomachEnterTimer = 10000; //Every 10 seconds
+ StomachEnterVisTimer = 0; //Always 3.5 seconds after Stomach Enter Timer
+ StomachEnterTarget = 0; //Target to be teleported to stomach
+ }
+
InstanceScript* instance;
//Out of combat whisper timer
@@ -487,24 +516,7 @@ public:
void Reset() override
{
- //One random wisper every 90 - 300 seconds
- WisperTimer = 90000;
-
- //Phase information
- PhaseTimer = 10000; //Emerge in 10 seconds
-
- //No hold player for transition
- HoldPlayer = 0;
-
- //Body Phase
- EyeTentacleTimer = 30000;
- FleshTentaclesKilled = 0;
- GiantClawTentacleTimer = 15000; //15 seconds into body phase (1 min repeat)
- GiantEyeTentacleTimer = 45000; //15 seconds into body phase (1 min repeat)
- StomachAcidTimer = 4000; //Every 4 seconds
- StomachEnterTimer = 10000; //Every 10 seconds
- StomachEnterVisTimer = 0; //Always 3.5 seconds after Stomach Enter Timer
- StomachEnterTarget = 0; //Target to be teleported to stomach
+ Initialize();
//Clear players in stomach and outside
Stomach_Map.clear();
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
index 5947c9860ec..b916f93aef7 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
@@ -53,23 +53,25 @@ public:
struct boss_fankrissAI : public ScriptedAI
{
- boss_fankrissAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_fankrissAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ MortalWound_Timer = urand(10000, 15000);
+ SpawnHatchlings_Timer = urand(6000, 12000);
+ SpawnSpawns_Timer = urand(15000, 45000);
+ }
uint32 MortalWound_Timer;
uint32 SpawnHatchlings_Timer;
uint32 SpawnSpawns_Timer;
- int Rand;
- float RandX;
- float RandY;
-
- Creature* Hatchling;
- Creature* Spawn;
void Reset() override
{
- MortalWound_Timer = urand(10000, 15000);
- SpawnHatchlings_Timer = urand(6000, 12000);
- SpawnSpawns_Timer = urand(15000, 45000);
+ Initialize();
}
void SummonSpawn(Unit* victim)
@@ -77,7 +79,10 @@ public:
if (!victim)
return;
- Rand = 10 + (rand32() % 10);
+ int Rand = 10 + (rand32() % 10);
+ float RandX = 0.f;
+ float RandY = 0.f;
+
switch (rand32() % 2)
{
case 0: RandX = 0.0f - Rand; break;
@@ -91,7 +96,7 @@ public:
case 1: RandY = 0.0f + Rand; break;
}
Rand = 0;
- Spawn = DoSpawnCreature(15630, RandX, RandY, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
+ Creature* Spawn = DoSpawnCreature(15630, RandX, RandY, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
if (Spawn)
Spawn->AI()->AttackStart(victim);
}
@@ -147,6 +152,7 @@ public:
if (DoGetThreat(target))
DoModifyThreatPercent(target, -100);
+ Creature* Hatchling = nullptr;
switch (urand(0, 2))
{
case 0:
@@ -166,7 +172,7 @@ public:
break;
case 1:
DoTeleportPlayer(target, -7990.135354f, 1155.1907f, -78.849319f, 2.608f);
- Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()-3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
+ Hatchling = me->SummonCreature(15962, target->GetPositionX() - 3, target->GetPositionY() - 3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
if (Hatchling)
Hatchling->AI()->AttackStart(target);
Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
@@ -181,7 +187,7 @@ public:
break;
case 2:
DoTeleportPlayer(target, -8159.7753f, 1127.9064f, -76.868660f, 0.675f);
- Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()-3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
+ Hatchling = me->SummonCreature(15962, target->GetPositionX() - 3, target->GetPositionY() - 3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
if (Hatchling)
Hatchling->AI()->AttackStart(target);
Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
index 5cc1670d8fb..b5512f29589 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
@@ -51,7 +51,23 @@ public:
struct boss_huhuranAI : public ScriptedAI
{
- boss_huhuranAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_huhuranAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ Frenzy_Timer = urand(25000, 35000);
+ Wyvern_Timer = urand(18000, 28000);
+ Spit_Timer = 8000;
+ PoisonBolt_Timer = 4000;
+ NoxiousPoison_Timer = urand(10000, 20000);
+ FrenzyBack_Timer = 15000;
+
+ Frenzy = false;
+ Berserk = false;
+ }
uint32 Frenzy_Timer;
uint32 Wyvern_Timer;
@@ -65,15 +81,7 @@ public:
void Reset() override
{
- Frenzy_Timer = urand(25000, 35000);
- Wyvern_Timer = urand(18000, 28000);
- Spit_Timer = 8000;
- PoisonBolt_Timer = 4000;
- NoxiousPoison_Timer = urand(10000, 20000);
- FrenzyBack_Timer = 15000;
-
- Frenzy = false;
- Berserk = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
index 26866de9aa8..092d7ed2a3b 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
@@ -48,7 +48,23 @@ public:
struct boss_ouroAI : public ScriptedAI
{
- boss_ouroAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_ouroAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ Sweep_Timer = urand(5000, 10000);
+ SandBlast_Timer = urand(20000, 35000);
+ Submerge_Timer = urand(90000, 150000);
+ Back_Timer = urand(30000, 45000);
+ ChangeTarget_Timer = urand(5000, 8000);
+ Spawn_Timer = urand(10000, 20000);
+
+ Enrage = false;
+ Submerged = false;
+ }
uint32 Sweep_Timer;
uint32 SandBlast_Timer;
@@ -62,15 +78,7 @@ public:
void Reset() override
{
- Sweep_Timer = urand(5000, 10000);
- SandBlast_Timer = urand(20000, 35000);
- Submerge_Timer = urand(90000, 150000);
- Back_Timer = urand(30000, 45000);
- ChangeTarget_Timer = urand(5000, 8000);
- Spawn_Timer = urand(10000, 20000);
-
- Enrage = false;
- Submerged = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
index e9eb9d58ca8..b73a79506a9 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
@@ -53,7 +53,25 @@ public:
struct boss_sarturaAI : public ScriptedAI
{
- boss_sarturaAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_sarturaAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ WhirlWind_Timer = 30000;
+ WhirlWindRandom_Timer = urand(3000, 7000);
+ WhirlWindEnd_Timer = 15000;
+ AggroReset_Timer = urand(45000, 55000);
+ AggroResetEnd_Timer = 5000;
+ EnrageHard_Timer = 10 * 60000;
+
+ WhirlWind = false;
+ AggroReset = false;
+ Enraged = false;
+ EnragedHard = false;
+ }
uint32 WhirlWind_Timer;
uint32 WhirlWindRandom_Timer;
@@ -69,18 +87,7 @@ public:
void Reset() override
{
- WhirlWind_Timer = 30000;
- WhirlWindRandom_Timer = urand(3000, 7000);
- WhirlWindEnd_Timer = 15000;
- AggroReset_Timer = urand(45000, 55000);
- AggroResetEnd_Timer = 5000;
- EnrageHard_Timer = 10*60000;
-
- WhirlWind = false;
- AggroReset = false;
- Enraged = false;
- EnragedHard = false;
-
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
@@ -196,7 +203,23 @@ public:
struct npc_sartura_royal_guardAI : public ScriptedAI
{
- npc_sartura_royal_guardAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_sartura_royal_guardAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ WhirlWind_Timer = 30000;
+ WhirlWindRandom_Timer = urand(3000, 7000);
+ WhirlWindEnd_Timer = 15000;
+ AggroReset_Timer = urand(45000, 55000);
+ AggroResetEnd_Timer = 5000;
+ KnockBack_Timer = 10000;
+
+ WhirlWind = false;
+ AggroReset = false;
+ }
uint32 WhirlWind_Timer;
uint32 WhirlWindRandom_Timer;
@@ -210,15 +233,7 @@ public:
void Reset() override
{
- WhirlWind_Timer = 30000;
- WhirlWindRandom_Timer = urand(3000, 7000);
- WhirlWindEnd_Timer = 15000;
- AggroReset_Timer = urand(45000, 55000);
- AggroResetEnd_Timer = 5000;
- KnockBack_Timer = 10000;
-
- WhirlWind = false;
- AggroReset = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
index 51384cc117d..62de8fbd607 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
@@ -55,12 +55,20 @@ class boss_skeram : public CreatureScript
struct boss_skeramAI : public BossAI
{
- boss_skeramAI(Creature* creature) : BossAI(creature, DATA_SKERAM) { }
+ boss_skeramAI(Creature* creature) : BossAI(creature, DATA_SKERAM)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
_flag = 0;
_hpct = 75.0f;
+ }
+
+ void Reset() override
+ {
+ Initialize();
me->SetVisible(true);
}
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
index 3e02406b93d..e65dbacc1f2 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
@@ -69,9 +69,24 @@ struct boss_twinemperorsAI : public ScriptedAI
{
boss_twinemperorsAI(Creature* creature): ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ Heal_Timer = 0; // first heal immediately when they get close together
+ Teleport_Timer = TELEPORTTIME;
+ AfterTeleport = false;
+ tspellcast = false;
+ AfterTeleportTimer = 0;
+ Abuse_Bug_Timer = urand(10000, 17000);
+ BugsTimer = 2000;
+
+ DontYellWhenDead = false;
+ EnrageTimer = 15 * 60000;
+ }
+
InstanceScript* instance;
uint32 Heal_Timer;
@@ -89,16 +104,8 @@ struct boss_twinemperorsAI : public ScriptedAI
void TwinReset()
{
- Heal_Timer = 0; // first heal immediately when they get close together
- Teleport_Timer = TELEPORTTIME;
- AfterTeleport = false;
- tspellcast = false;
- AfterTeleportTimer = 0;
- Abuse_Bug_Timer = urand(10000, 17000);
- BugsTimer = 2000;
+ Initialize();
me->ClearUnitState(UNIT_STATE_STUNNED);
- DontYellWhenDead = false;
- EnrageTimer = 15*60000;
}
Creature* GetOtherBoss()
@@ -394,24 +401,26 @@ public:
struct boss_veknilashAI : public boss_twinemperorsAI
{
bool IAmVeklor() {return false;}
- boss_veknilashAI(Creature* creature) : boss_twinemperorsAI(creature) { }
+ boss_veknilashAI(Creature* creature) : boss_twinemperorsAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ UpperCut_Timer = urand(14000, 29000);
+ UnbalancingStrike_Timer = urand(8000, 18000);
+ Scarabs_Timer = urand(7000, 14000);
+ }
uint32 UpperCut_Timer;
uint32 UnbalancingStrike_Timer;
uint32 Scarabs_Timer;
- int Rand;
- int RandX;
- int RandY;
-
- Creature* Summoned;
void Reset() override
{
TwinReset();
- UpperCut_Timer = urand(14000, 29000);
- UnbalancingStrike_Timer = urand(8000, 18000);
- Scarabs_Timer = urand(7000, 14000);
-
+ Initialize();
//Added. Can be removed if its included in DB.
me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true);
}
@@ -480,25 +489,28 @@ public:
struct boss_veklorAI : public boss_twinemperorsAI
{
bool IAmVeklor() {return true;}
- boss_veklorAI(Creature* creature) : boss_twinemperorsAI(creature) { }
+ boss_veklorAI(Creature* creature) : boss_twinemperorsAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ ShadowBolt_Timer = 0;
+ Blizzard_Timer = urand(15000, 20000);
+ ArcaneBurst_Timer = 1000;
+ Scorpions_Timer = urand(7000, 14000);
+ }
uint32 ShadowBolt_Timer;
uint32 Blizzard_Timer;
uint32 ArcaneBurst_Timer;
uint32 Scorpions_Timer;
- int Rand;
- int RandX;
- int RandY;
-
- Creature* Summoned;
void Reset() override
{
TwinReset();
- ShadowBolt_Timer = 0;
- Blizzard_Timer = urand(15000, 20000);
- ArcaneBurst_Timer = 1000;
- Scorpions_Timer = urand(7000, 14000);
+ Initialize();
//Added. Can be removed if its included in DB.
me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, true);
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
index a9ec3007e5d..7f223f21269 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
@@ -91,15 +91,23 @@ class boss_viscidus : public CreatureScript
struct boss_viscidusAI : public BossAI
{
- boss_viscidusAI(Creature* creature) : BossAI(creature, DATA_VISCIDUS) { }
+ boss_viscidusAI(Creature* creature) : BossAI(creature, DATA_VISCIDUS)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
- _Reset();
_hitcounter = 0;
_phase = PHASE_FROST;
}
+ void Reset() override
+ {
+ _Reset();
+ Initialize();
+ }
+
void DamageTaken(Unit* attacker, uint32& /*damage*/) override
{
if (_phase != PHASE_MELEE)
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
index 5780da5e759..e6d9bd86a4d 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
@@ -58,6 +58,7 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
void Initialize() override
{
+ SetHeaders(DataHeader);
IsBossDied[0] = false;
IsBossDied[1] = false;
IsBossDied[2] = false;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
index a0d57481c75..b8f6c0ed80e 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
@@ -92,8 +92,15 @@ public:
aqsentinelAI(Creature* creature) : ScriptedAI(creature)
{
- ClearBuddyList();
+ Initialize();
abselected = 0; // just initialization of variable
+ ability = 0;
+ }
+
+ void Initialize()
+ {
+ ClearBuddyList();
+ gatherOthersWhenAggro = true;
}
uint64 NearbyGUID[3];
@@ -183,8 +190,8 @@ public:
void GetOtherSentinels(Unit* who)
{
- bool *chosenAbilities = new bool[9];
- memset(chosenAbilities, 0, 9*sizeof(bool));
+ bool chosenAbilities[9];
+ memset(chosenAbilities, 0, sizeof(chosenAbilities));
selectAbility(pickAbilityRandom(chosenAbilities));
ClearBuddyList();
@@ -207,8 +214,6 @@ public:
DoYell("I dont have enough buddies.", LANG_NEUTRAL, 0);*/
SendMyListToBuddies();
CallBuddiesToAttack(who);
-
- delete[] chosenAbilities;
}
bool gatherOthersWhenAggro;
@@ -228,8 +233,7 @@ public:
}
}
}
- ClearBuddyList();
- gatherOthersWhenAggro = true;
+ Initialize();
}
void GainSentinelAbility(uint32 id)
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h
index fc858ced774..99ce6e738e8 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h
@@ -19,6 +19,8 @@
#ifndef DEF_TEMPLE_OF_AHNQIRAJ_H
#define DEF_TEMPLE_OF_AHNQIRAJ_H
+#define DataHeader "AQT"
+
enum DataTypes
{
DATA_SKERAM = 1,
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
index 9b8397ec6cd..bb2fc8bca20 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
+++ b/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
@@ -50,6 +50,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
yelled = false;
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.h b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.h
index c331d5f43c1..87577f9abaf 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.h
+++ b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.h
@@ -19,6 +19,8 @@
#ifndef DEF_WAILING_CAVERNS_H
#define DEF_WAILING_CAVERNS_H
+#define DataHeader "WC"
+
enum DataTypes
{
TYPE_LORD_COBRAHN = 1,
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp b/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp
index f0035cc921c..4a2425d879f 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp
@@ -59,16 +59,24 @@ public:
struct boss_zum_rahAI : public BossAI
{
- boss_zum_rahAI(Creature* creature) : BossAI(creature, DATA_ZUM_RAH) { }
+ boss_zum_rahAI(Creature* creature) : BossAI(creature, DATA_ZUM_RAH)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
- me->setFaction(ZUMRAH_FRIENDLY_FACTION); // areatrigger sets faction to enemy
_ward80 = false;
_ward40 = false;
_heal30 = false;
}
+ void Reset() override
+ {
+ me->setFaction(ZUMRAH_FRIENDLY_FACTION); // areatrigger sets faction to enemy
+ Initialize();
+ }
+
void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_SANCT_INVADE);
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
index 8139f45bf46..83f1724130c 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
@@ -126,6 +126,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
GahzRillaEncounter = NOT_STARTED;
ZumrahGUID = 0;
BlyGUID = 0;
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
index 7c02ecdb8f2..47d269a00ff 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
@@ -104,8 +104,17 @@ public:
{
npc_sergeant_blyAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
postGossipStep = 0;
+ Text_Timer = 0;
+ PlayerGUID = 0;
+ }
+
+ void Initialize()
+ {
+ ShieldBash_Timer = 5000;
+ Revenge_Timer = 8000;
}
InstanceScript* instance;
@@ -118,8 +127,7 @@ public:
void Reset() override
{
- ShieldBash_Timer = 5000;
- Revenge_Timer = 8000;
+ Initialize();
me->setFaction(FACTION_FRIENDLY);
}
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.h b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.h
index 0d16c1d1ddd..3e742db02c0 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.h
+++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.h
@@ -5,6 +5,8 @@
#ifndef DEF_ZF_H
#define DEF_ZF_H
+#define DataHeader "ZF"
+
enum zfEntries
{
ENTRY_ZUM_RAH = 7271,
diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
index 2b8dbdaab6c..500739b9404 100644
--- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp
+++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
@@ -61,13 +61,21 @@ public:
struct npc_torekAI : public npc_escortAI
{
- npc_torekAI(Creature* creature) : npc_escortAI(creature) { }
+ npc_torekAI(Creature* creature) : npc_escortAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
- rend_Timer = 5000;
+ rend_Timer = 5000;
thunderclap_Timer = 8000;
- _completed = false;
+ _completed = false;
+ }
+
+ void Reset() override
+ {
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override { }
@@ -298,15 +306,23 @@ public:
struct npc_muglashAI : public npc_escortAI
{
- npc_muglashAI(Creature* creature) : npc_escortAI(creature) { }
+ npc_muglashAI(Creature* creature) : npc_escortAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
eventTimer = 10000;
waveId = 0;
_isBrazierExtinguished = false;
}
+ void Reset() override
+ {
+ Initialize();
+ }
+
void EnterCombat(Unit* /*who*/) override
{
if (Player* player = GetPlayerForEscort())
diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
index 9d906acb312..7974e1c0347 100644
--- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
@@ -60,7 +60,21 @@ public:
struct npc_draenei_survivorAI : public ScriptedAI
{
- npc_draenei_survivorAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_draenei_survivorAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ pCaster = 0;
+
+ SayThanksTimer = 0;
+ RunAwayTimer = 0;
+ SayHelpTimer = 10000;
+
+ CanSayHelp = true;
+ }
uint64 pCaster;
@@ -72,13 +86,7 @@ public:
void Reset() override
{
- pCaster = 0;
-
- SayThanksTimer = 0;
- RunAwayTimer = 0;
- SayHelpTimer = 10000;
-
- CanSayHelp = true;
+ Initialize();
DoCast(me, SPELL_IRRIDATION, true);
@@ -192,22 +200,28 @@ public:
{
npc_engineer_spark_overgrindAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
NormFaction = creature->getFaction();
NpcFlags = creature->GetUInt32Value(UNIT_NPC_FLAGS);
+ }
- if (creature->GetAreaId() == AREA_COVE || creature->GetAreaId() == AREA_ISLE)
+ void Initialize()
+ {
+ DynamiteTimer = 8000;
+ EmoteTimer = urand(120000, 150000);
+
+ if (me->GetAreaId() == AREA_COVE || me->GetAreaId() == AREA_ISLE)
IsTreeEvent = true;
+ else
+ IsTreeEvent = false;
}
void Reset() override
{
- DynamiteTimer = 8000;
- EmoteTimer = urand(120000, 150000);
+ Initialize();
me->setFaction(NormFaction);
me->SetUInt32Value(UNIT_NPC_FLAGS, NpcFlags);
-
- IsTreeEvent = false;
}
void EnterCombat(Unit* who) override
@@ -409,7 +423,18 @@ public:
struct npc_geezleAI : public ScriptedAI
{
- npc_geezleAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_geezleAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ SparkGUID = 0;
+ Step = 0;
+ EventStarted = false;
+ SayTimer = 0;
+ }
uint64 SparkGUID;
@@ -420,8 +445,7 @@ public:
void Reset() override
{
- SparkGUID = 0;
- Step = 0;
+ Initialize();
StartEvent();
}
@@ -581,15 +605,23 @@ public:
struct npc_death_ravagerAI : public ScriptedAI
{
- npc_death_ravagerAI(Creature* creature) : ScriptedAI(creature){ }
+ npc_death_ravagerAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ RendTimer = 30000;
+ EnragingBiteTimer = 20000;
+ }
uint32 RendTimer;
uint32 EnragingBiteTimer;
void Reset() override
{
- RendTimer = 30000;
- EnragingBiteTimer = 20000;
+ Initialize();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_PASSIVE);
@@ -647,7 +679,16 @@ class npc_stillpine_capitive : public CreatureScript
struct npc_stillpine_capitiveAI : public ScriptedAI
{
- npc_stillpine_capitiveAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_stillpine_capitiveAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _playerGUID = 0;
+ _movementComplete = false;
+ }
void Reset() override
{
@@ -657,8 +698,7 @@ class npc_stillpine_capitive : public CreatureScript
cage->SetGoState(GO_STATE_READY);
}
_events.Reset();
- _player = NULL;
- _movementComplete = false;
+ Initialize();
}
void StartMoving(Player* owner)
@@ -666,7 +706,7 @@ class npc_stillpine_capitive : public CreatureScript
if (owner)
{
Talk(CAPITIVE_SAY, owner);
- _player = owner;
+ _playerGUID = owner->GetGUID();
}
Position pos = me->GetNearPosition(3.0f, 0.0f);
me->GetMotionMaster()->MovePoint(POINT_INIT, pos);
@@ -677,7 +717,7 @@ class npc_stillpine_capitive : public CreatureScript
if (type != POINT_MOTION_TYPE || id != POINT_INIT)
return;
- if (_player)
+ if (Player* _player = ObjectAccessor::GetPlayer(*me, _playerGUID))
_player->KilledMonsterCredit(me->GetEntry(), me->GetGUID());
_movementComplete = true;
@@ -696,7 +736,7 @@ class npc_stillpine_capitive : public CreatureScript
}
private:
- Player* _player;
+ uint64 _playerGUID;
EventMap _events;
bool _movementComplete;
};
diff --git a/src/server/scripts/Kalimdor/zone_durotar.cpp b/src/server/scripts/Kalimdor/zone_durotar.cpp
index ca4bafdd453..e677bd24e4a 100644
--- a/src/server/scripts/Kalimdor/zone_durotar.cpp
+++ b/src/server/scripts/Kalimdor/zone_durotar.cpp
@@ -50,7 +50,17 @@ public:
struct npc_lazy_peonAI : public ScriptedAI
{
- npc_lazy_peonAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_lazy_peonAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ PlayerGUID = 0;
+ RebuffTimer = 0;
+ work = false;
+ }
uint64 PlayerGUID;
@@ -59,9 +69,7 @@ public:
void Reset() override
{
- PlayerGUID = 0;
- RebuffTimer = 0;
- work = false;
+ Initialize();
}
void MovementInform(uint32 /*type*/, uint32 id)
diff --git a/src/server/scripts/Kalimdor/zone_mulgore.cpp b/src/server/scripts/Kalimdor/zone_mulgore.cpp
index 23def62047d..0ad44c29b13 100644
--- a/src/server/scripts/Kalimdor/zone_mulgore.cpp
+++ b/src/server/scripts/Kalimdor/zone_mulgore.cpp
@@ -61,7 +61,19 @@ public:
struct npc_kyle_frenziedAI : public ScriptedAI
{
- npc_kyle_frenziedAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_kyle_frenziedAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ EventActive = false;
+ IsMovingToLunch = false;
+ PlayerGUID = 0;
+ EventTimer = 5000;
+ EventPhase = 0;
+ }
bool EventActive;
bool IsMovingToLunch;
@@ -71,11 +83,7 @@ public:
void Reset() override
{
- EventActive = false;
- IsMovingToLunch = false;
- PlayerGUID = 0;
- EventTimer = 5000;
- EventPhase = 0;
+ Initialize();
if (me->GetEntry() == NPC_KYLE_FRIENDLY)
me->UpdateEntry(NPC_KYLE_FRENZIED);
diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp
index 98256006fd3..e6e03d923c9 100644
--- a/src/server/scripts/Kalimdor/zone_silithus.cpp
+++ b/src/server/scripts/Kalimdor/zone_silithus.cpp
@@ -422,7 +422,23 @@ public:
struct npc_anachronos_the_ancientAI : public ScriptedAI
{
- npc_anachronos_the_ancientAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_anachronos_the_ancientAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ AnimationTimer = 1500;
+ AnimationCount = 0;
+ AnachronosQuestTriggerGUID = 0;
+ MerithraGUID = 0;
+ ArygosGUID = 0;
+ CaelestraszGUID = 0;
+ FandralGUID = 0;
+ PlayerGUID = 0;
+ eventEnd = false;
+ }
uint32 AnimationTimer;
uint8 AnimationCount;
@@ -437,15 +453,7 @@ public:
void Reset() override
{
- AnimationTimer = 1500;
- AnimationCount = 0;
- AnachronosQuestTriggerGUID = 0;
- MerithraGUID = 0;
- ArygosGUID = 0;
- CaelestraszGUID = 0;
- FandralGUID = 0;
- PlayerGUID = 0;
- eventEnd = false;
+ Initialize();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
@@ -750,7 +758,22 @@ public:
struct npc_qiraj_war_spawnAI : public ScriptedAI
{
- npc_qiraj_war_spawnAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_qiraj_war_spawnAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ SpellTimer1 = 0;
+ SpellTimer2 = 0;
+ SpellTimer3 = 0;
+ SpellTimer4 = 0;
+ }
+
+ void Initialize()
+ {
+ MobGUID = 0;
+ PlayerGUID = 0;
+ Timers = false;
+ hasTarget = false;
+ }
uint64 MobGUID;
uint64 PlayerGUID;
@@ -760,10 +783,7 @@ public:
void Reset() override
{
- MobGUID = 0;
- PlayerGUID = 0;
- Timers = false;
- hasTarget = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override { }
@@ -863,7 +883,24 @@ public:
struct npc_anachronos_quest_triggerAI : public ScriptedAI
{
- npc_anachronos_quest_triggerAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_anachronos_quest_triggerAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ PlayerGUID = 0;
+
+ WaveTimer = 2000;
+ AnnounceTimer = 1000;
+ LiveCount = 0;
+ WaveCount = 0;
+
+ EventStarted = false;
+ Announced = false;
+ Failed = false;
+ }
uint64 PlayerGUID;
@@ -879,16 +916,7 @@ public:
void Reset() override
{
- PlayerGUID = 0;
-
- WaveTimer = 2000;
- AnnounceTimer = 1000;
- LiveCount = 0;
- WaveCount = 0;
-
- EventStarted = false;
- Announced = false;
- Failed = false;
+ Initialize();
me->SetVisible(false);
}
diff --git a/src/server/scripts/Kalimdor/zone_tanaris.cpp b/src/server/scripts/Kalimdor/zone_tanaris.cpp
index af0bfdd982d..6c0151ff931 100644
--- a/src/server/scripts/Kalimdor/zone_tanaris.cpp
+++ b/src/server/scripts/Kalimdor/zone_tanaris.cpp
@@ -61,7 +61,21 @@ public:
struct npc_aquementasAI : public ScriptedAI
{
- npc_aquementasAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_aquementasAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ SendItemTimer = 0;
+ SwitchFactionTimer = 10000;
+
+ isFriendly = true;
+
+ AquaJetTimer = 5000;
+ FrostShockTimer = 1000;
+ }
uint32 SendItemTimer;
uint32 SwitchFactionTimer;
@@ -72,13 +86,8 @@ public:
void Reset() override
{
- SendItemTimer = 0;
- SwitchFactionTimer = 10000;
+ Initialize();
me->setFaction(35);
- isFriendly = true;
-
- AquaJetTimer = 5000;
- FrostShockTimer = 1000;
}
void SendItem(Unit* receiver)
@@ -458,7 +467,19 @@ public:
struct npc_toogaAI : public FollowerAI
{
- npc_toogaAI(Creature* creature) : FollowerAI(creature) { }
+ npc_toogaAI(Creature* creature) : FollowerAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ CheckSpeechTimer = 2500;
+ PostEventTimer = 1000;
+ PhasePostEvent = 0;
+
+ TortaGUID = 0;
+ }
uint32 CheckSpeechTimer;
uint32 PostEventTimer;
@@ -468,11 +489,7 @@ public:
void Reset() override
{
- CheckSpeechTimer = 2500;
- PostEventTimer = 1000;
- PhasePostEvent = 0;
-
- TortaGUID = 0;
+ Initialize();
}
void MoveInLineOfSight(Unit* who)
diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
index a8b5428e499..ff507f32bae 100644
--- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
@@ -195,9 +195,17 @@ public:
{
npc_taskmaster_fizzuleAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
factionNorm = creature->getFaction();
}
+ void Initialize()
+ {
+ IsFriend = false;
+ ResetTimer = 120000;
+ FlareCount = 0;
+ }
+
uint32 factionNorm;
bool IsFriend;
uint32 ResetTimer;
@@ -205,9 +213,7 @@ public:
void Reset() override
{
- IsFriend = false;
- ResetTimer = 120000;
- FlareCount = 0;
+ Initialize();
me->setFaction(factionNorm);
}
@@ -309,20 +315,12 @@ public:
struct npc_twiggy_flatheadAI : public ScriptedAI
{
- npc_twiggy_flatheadAI(Creature* creature) : ScriptedAI(creature) { }
-
- bool EventInProgress;
- bool EventGrate;
- bool EventBigWill;
- bool ChallengerDown[6];
- uint8 Wave;
- uint32 WaveTimer;
- uint32 ChallengerChecker;
- uint64 PlayerGUID;
- uint64 AffrayChallenger[6];
- uint64 BigWill;
+ npc_twiggy_flatheadAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
EventInProgress = false;
EventGrate = false;
@@ -340,6 +338,22 @@ public:
BigWill = 0;
}
+ bool EventInProgress;
+ bool EventGrate;
+ bool EventBigWill;
+ bool ChallengerDown[6];
+ uint8 Wave;
+ uint32 WaveTimer;
+ uint32 ChallengerChecker;
+ uint64 PlayerGUID;
+ uint64 AffrayChallenger[6];
+ uint64 BigWill;
+
+ void Reset() override
+ {
+ Initialize();
+ }
+
void MoveInLineOfSight(Unit* who) override
{
if (!who || !who->IsAlive() || EventInProgress)
diff --git a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
index ea76dac829a..1c04a6e32dd 100644
--- a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
+++ b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
@@ -55,7 +55,19 @@ public:
struct npc_cairne_bloodhoofAI : public ScriptedAI
{
- npc_cairne_bloodhoofAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_cairne_bloodhoofAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ BerserkerChargeTimer = 30000;
+ CleaveTimer = 5000;
+ MortalStrikeTimer = 10000;
+ ThunderclapTimer = 15000;
+ UppercutTimer = 10000;
+ }
uint32 BerserkerChargeTimer;
uint32 CleaveTimer;
@@ -65,11 +77,7 @@ public:
void Reset() override
{
- BerserkerChargeTimer = 30000;
- CleaveTimer = 5000;
- MortalStrikeTimer = 10000;
- ThunderclapTimer = 15000;
- UppercutTimer = 10000;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override { }
diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp
index 11b720ad8d5..58d9b115398 100644
--- a/src/server/scripts/Kalimdor/zone_winterspring.cpp
+++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp
@@ -317,7 +317,17 @@ public:
npc_ranshallaAI(Creature* creature) : npc_escortAI(creature),
DialogueHelper(introDialogue)
{
- Reset();
+ Initialize();
+ _firstPriestessGUID = 0;
+ _secondPriestessGUID = 0;
+ _guardEluneGUID = 0;
+ _voiceEluneGUID = 0;
+ _altarGUID = 0;
+ }
+
+ void Initialize()
+ {
+ _delayTimer = 0;
}
uint32 _delayTimer;
@@ -330,7 +340,7 @@ public:
void Reset() override
{
- _delayTimer = 0;
+ Initialize();
}
// Called when the player activates the torch / altar
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/ahnkahet.h b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/ahnkahet.h
index 3830ba3c8aa..0dc2d68319d 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/ahnkahet.h
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/ahnkahet.h
@@ -19,6 +19,7 @@
#define AHNKAHET_H_
#define AhnKahetScriptName "instance_ahnkahet"
+#define DataHeader "AK"
uint32 const EncounterCount = 5;
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
index d4dc5efb6d5..79449723a16 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
@@ -61,15 +61,23 @@ class boss_elder_nadox : public CreatureScript
struct boss_elder_nadoxAI : public BossAI
{
- boss_elder_nadoxAI(Creature* creature) : BossAI(creature, DATA_ELDER_NADOX) { }
+ boss_elder_nadoxAI(Creature* creature) : BossAI(creature, DATA_ELDER_NADOX)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
- _Reset();
GuardianSummoned = false;
GuardianDied = false;
}
+ void Reset() override
+ {
+ _Reset();
+ Initialize();
+ }
+
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
index 4b352b98af2..592d69c5c76 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
@@ -63,9 +63,19 @@ public:
{
boss_volazjAI(Creature* creature) : ScriptedAI(creature), Summons(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiMindFlayTimer = 8 * IN_MILLISECONDS;
+ uiShadowBoltVolleyTimer = 5 * IN_MILLISECONDS;
+ uiShiverTimer = 15 * IN_MILLISECONDS;
+ // Used for Insanity handling
+ insanityHandled = 0;
+ }
+
InstanceScript* instance;
uint32 uiMindFlayTimer;
@@ -152,9 +162,7 @@ public:
void Reset() override
{
- uiMindFlayTimer = 8*IN_MILLISECONDS;
- uiShadowBoltVolleyTimer = 5*IN_MILLISECONDS;
- uiShiverTimer = 15*IN_MILLISECONDS;
+ Initialize();
instance->SetBossState(DATA_HERALD_VOLAZJ, NOT_STARTED);
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_QUICK_DEMISE_START_EVENT);
@@ -164,9 +172,6 @@ public:
for (uint32 i = 173; i <= 177; ++i)
me->SetInPhase(i, true, true);
- // Used for Insanity handling
- insanityHandled = 0;
-
ResetPlayersPhase();
// Cleanup
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
index 905761ce359..7ae8730d57b 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
@@ -64,11 +64,27 @@ public:
{
boss_jedoga_shadowseekerAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
bFirstTime = true;
bPreDone = false;
}
+ void Initialize()
+ {
+ uiOpFerTimer = urand(15 * IN_MILLISECONDS, 20 * IN_MILLISECONDS);
+
+ uiCycloneTimer = 3 * IN_MILLISECONDS;
+ uiBoltTimer = 7 * IN_MILLISECONDS;
+ uiThunderTimer = 12 * IN_MILLISECONDS;
+
+ bOpFerok = false;
+ bOpFerokFail = false;
+ bOnGround = false;
+ bCanDown = false;
+ volunteerWork = true;
+ }
+
InstanceScript* instance;
uint32 uiOpFerTimer;
@@ -86,17 +102,7 @@ public:
void Reset() override
{
- uiOpFerTimer = urand(15*IN_MILLISECONDS, 20*IN_MILLISECONDS);
-
- uiCycloneTimer = 3*IN_MILLISECONDS;
- uiBoltTimer = 7*IN_MILLISECONDS;
- uiThunderTimer = 12*IN_MILLISECONDS;
-
- bOpFerok = false;
- bOpFerokFail = false;
- bOnGround = false;
- bCanDown = false;
- volunteerWork = true;
+ Initialize();
if (!bFirstTime)
instance->SetBossState(DATA_JEDOGA_SHADOWSEEKER, FAIL);
@@ -331,9 +337,16 @@ public:
{
npc_jedoga_initiandAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ bWalking = false;
+ bCheckTimer = 2 * IN_MILLISECONDS;
+ }
+
InstanceScript* instance;
uint32 bCheckTimer;
@@ -342,8 +355,7 @@ public:
void Reset() override
{
- bWalking = false;
- bCheckTimer = 2*IN_MILLISECONDS;
+ Initialize();
if (instance->GetBossState(DATA_JEDOGA_SHADOWSEEKER) != IN_PROGRESS)
{
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
index bf7b4355ea6..7c9ed240959 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
@@ -35,6 +35,7 @@ class instance_ahnkahet : public InstanceMapScript
{
instance_ahnkahet_InstanceScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -258,50 +259,15 @@ class instance_ahnkahet : public InstanceMapScript
return true;
}
- std::string GetSaveData() override
+ void WriteSaveDataMore(std::ostringstream& data) override
{
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "A K " << GetBossSaveData() << SpheresState[0] << ' ' << SpheresState[1];
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
+ data << SpheresState[0] << ' ' << SpheresState[1];
}
- void Load(char const* str) override
+ void ReadSaveDataMore(std::istringstream& data) override
{
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'A' && dataHead2 == 'K')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
-
- loadStream >> SpheresState[0];
- loadStream >> SpheresState[1];
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
+ data >> SpheresState[0];
+ data >> SpheresState[1];
}
protected:
@@ -317,7 +283,7 @@ class instance_ahnkahet : public InstanceMapScript
std::set<uint64> InitiandGUIDs;
- uint8 SpheresState[2];
+ uint32 SpheresState[2];
uint8 SwitchTrigger;
};
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/azjol_nerub.h b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/azjol_nerub.h
index 674e5cf36bb..c274b283c1d 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/azjol_nerub.h
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/azjol_nerub.h
@@ -19,6 +19,7 @@
#define AZJOL_NERUB_H_
#define AzjolNerubScriptName "instance_azjol_nerub"
+#define DataHeader "AN"
uint32 const EncounterCount = 3;
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
index bf5855c3318..49d0840f08a 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
@@ -87,7 +87,29 @@ public:
{
boss_anub_arakAI(Creature* creature) : ScriptedAI(creature), Summons(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
+ GuardianSummoned = false;
+ VenomancerSummoned = false;
+ DatterSummoned = false;
+ UndergroundTimer = 0;
+ VenomancerTimer = 0;
+ DatterTimer = 0;
+ DelayTimer = 0;
+ ImpaleTarget = 0;
+ }
+
+ void Initialize()
+ {
+ CarrionBeetlesTimer = 8 * IN_MILLISECONDS;
+ LeechingSwarmTimer = 20 * IN_MILLISECONDS;
+ ImpaleTimer = 9 * IN_MILLISECONDS;
+ PoundTimer = 15 * IN_MILLISECONDS;
+
+ Phase = PHASE_MELEE;
+ UndergroundPhase = 0;
+ Channeling = false;
+ ImpalePhase = IMPALE_PHASE_TARGET;
}
InstanceScript* instance;
@@ -101,7 +123,6 @@ public:
uint32 CarrionBeetlesTimer;
uint32 LeechingSwarmTimer;
uint32 PoundTimer;
- uint32 SubmergeTimer;
uint32 UndergroundTimer;
uint32 VenomancerTimer;
uint32 DatterTimer;
@@ -115,15 +136,7 @@ public:
void Reset() override
{
- CarrionBeetlesTimer = 8*IN_MILLISECONDS;
- LeechingSwarmTimer = 20*IN_MILLISECONDS;
- ImpaleTimer = 9*IN_MILLISECONDS;
- PoundTimer = 15*IN_MILLISECONDS;
-
- Phase = PHASE_MELEE;
- UndergroundPhase = 0;
- Channeling = false;
- ImpalePhase = IMPALE_PHASE_TARGET;
+ Initialize();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE);
me->RemoveAura(SPELL_SUBMERGE);
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
index 10d34be46b6..f8c5c63cf91 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
@@ -54,11 +54,22 @@ public:
{
boss_hadronoxAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
fMaxDistance = 50.0f;
bFirstTime = true;
}
+ void Initialize()
+ {
+ uiAcidTimer = urand(10 * IN_MILLISECONDS, 14 * IN_MILLISECONDS);
+ uiLeechTimer = urand(3 * IN_MILLISECONDS, 9 * IN_MILLISECONDS);
+ uiPierceTimer = urand(1 * IN_MILLISECONDS, 3 * IN_MILLISECONDS);
+ uiGrabTimer = urand(15 * IN_MILLISECONDS, 19 * IN_MILLISECONDS);
+ uiDoorsTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS);
+ uiCheckDistanceTimer = 2 * IN_MILLISECONDS;
+ }
+
InstanceScript* instance;
uint32 uiAcidTimer;
@@ -77,12 +88,7 @@ public:
me->SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS, 9.0f);
me->SetFloatValue(UNIT_FIELD_COMBATREACH, 9.0f);
- uiAcidTimer = urand(10*IN_MILLISECONDS, 14*IN_MILLISECONDS);
- uiLeechTimer = urand(3*IN_MILLISECONDS, 9*IN_MILLISECONDS);
- uiPierceTimer = urand(1*IN_MILLISECONDS, 3*IN_MILLISECONDS);
- uiGrabTimer = urand(15*IN_MILLISECONDS, 19*IN_MILLISECONDS);
- uiDoorsTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS);
- uiCheckDistanceTimer = 2*IN_MILLISECONDS;
+ Initialize();
if (instance->GetBossState(DATA_HADRONOX) != DONE && !bFirstTime)
instance->SetBossState(DATA_HADRONOX, FAIL);
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
index 106d7e54150..1ae68f5a33e 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
@@ -37,6 +37,7 @@ class instance_azjol_nerub : public InstanceMapScript
{
instance_azjol_nerub_InstanceScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -128,49 +129,6 @@ class instance_azjol_nerub : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "A N " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'A' && dataHead2 == 'N')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 KrikthirGUID;
uint64 HadronoxGUID;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
index 4c3ca322574..77ced6acef1 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
@@ -130,14 +130,22 @@ public:
struct boss_sartharionAI : public BossAI
{
- boss_sartharionAI(Creature* creature) : BossAI(creature, DATA_SARTHARION) { }
+ boss_sartharionAI(Creature* creature) : BossAI(creature, DATA_SARTHARION)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
- _isBerserk = false;
+ _isBerserk = false;
_isSoftEnraged = false;
_isHardEnraged = false;
- drakeCount = 0;
+ drakeCount = 0;
+ }
+
+ void Reset() override
+ {
+ Initialize();
if (me->HasAura(SPELL_TWILIGHT_REVENGE))
me->RemoveAurasDueToSpell(SPELL_TWILIGHT_REVENGE);
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
index 0d07a9fde50..5e4a31d6b5e 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
@@ -34,6 +34,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
sartharionGUID = 0;
tenebronGUID = 0;
shadronGUID = 0;
@@ -98,49 +99,6 @@ public:
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "O S " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'O' && dataHead2 == 'S')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 sartharionGUID;
uint64 tenebronGUID;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
index 0a712b69771..58d7c6141b4 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
@@ -161,19 +161,25 @@ struct dummy_dragonAI : public ScriptedAI
{
dummy_dragonAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ waypointId = 0;
+ portalRespawnTime = 30000;
+ _canMoveFree = false;
+ _canLoot = true;
+ }
+
void Reset() override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
events.Reset();
- waypointId = 0;
- portalRespawnTime = 30000;
- _canMoveFree = false;
- _canLoot = true;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.h b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.h
index f26ad3a45ed..341a5686e58 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.h
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.h
@@ -19,6 +19,7 @@
#define OBSIDIAN_SANCTUM_H_
#define OSScriptName "instance_obsidian_sanctum"
+#define DataHeader "OS"
uint32 const EncounterCount = 5;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
index 69605574f86..4e02b3ad2e8 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
@@ -15,9 +15,9 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ObjectMgr.h"
-#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "ScriptMgr.h"
+#include "SpellScript.h"
#include "SpellAuraEffects.h"
#include "ruby_sanctum.h"
@@ -73,15 +73,21 @@ class boss_baltharus_the_warborn : public CreatureScript
{
boss_baltharus_the_warbornAI(Creature* creature) : BossAI(creature, DATA_BALTHARUS_THE_WARBORN)
{
+ Initialize();
_introDone = false;
}
+ void Initialize()
+ {
+ _cloneCount = RAID_MODE<uint8>(1, 2, 2, 2);
+ }
+
void Reset() override
{
_Reset();
events.SetPhase(PHASE_INTRO);
events.ScheduleEvent(EVENT_OOC_CHANNEL, 0, 0, PHASE_INTRO);
- _cloneCount = RAID_MODE<uint8>(1, 2, 2, 2);
+ Initialize();
instance->SetData(DATA_BALTHARUS_SHARED_HEALTH, me->GetMaxHealth());
}
@@ -245,7 +251,7 @@ class npc_baltharus_the_warborn_clone : public CreatureScript
void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
// Setting DATA_BALTHARUS_SHARED_HEALTH to 0 when killed would bug the boss.
- if (_instance && me->GetHealth() > damage)
+ if (me->GetHealth() > damage)
_instance->SetData(DATA_BALTHARUS_SHARED_HEALTH, me->GetHealth() - damage);
}
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
index b5c20e95278..e41ea8de38b 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
@@ -204,12 +204,18 @@ class npc_onyx_flamecaller : public CreatureScript
{
npc_onyx_flamecallerAI(Creature* creature) : npc_escortAI(creature), _instance(creature->GetInstanceScript())
{
+ Initialize();
npc_escortAI::SetDespawnAtEnd(false);
}
- void Reset() override
+ void Initialize()
{
_lavaGoutCount = 0;
+ }
+
+ void Reset() override
+ {
+ Initialize();
me->setActive(true);
AddWaypoints();
Start(true, true);
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index a6743811b34..833e3e23fe1 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -595,16 +595,22 @@ class npc_halion_controller : public CreatureScript
npc_halion_controllerAI(Creature* creature) : ScriptedAI(creature),
_instance(creature->GetInstanceScript()), _summons(me)
{
+ Initialize();
me->SetPhaseMask(me->GetPhaseMask() | 0x20, true);
}
- void Reset() override
+ void Initialize()
{
- _summons.DespawnAll();
- _events.Reset();
_materialCorporealityValue = 5;
_materialDamageTaken = 0;
_twilightDamageTaken = 0;
+ }
+
+ void Reset() override
+ {
+ _summons.DespawnAll();
+ _events.Reset();
+ Initialize();
DoCast(me, SPELL_CLEAR_DEBUFFS);
}
@@ -1207,13 +1213,22 @@ class npc_living_ember : public CreatureScript
struct npc_living_emberAI : public ScriptedAI
{
- npc_living_emberAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_living_emberAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ _enrageTimer = 0;
+ }
- void Reset() override
+ void Initialize()
{
_hasEnraged = false;
}
+ void Reset() override
+ {
+ Initialize();
+ }
+
void EnterCombat(Unit* /*who*/) override
{
_enrageTimer = 20000;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
index 199337b0631..696d8e0f2a3 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
@@ -17,6 +17,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "SpellScript.h"
#include "ruby_sanctum.h"
enum Texts
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
index eed8168eff8..be756a8ab36 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
@@ -15,12 +15,13 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ScriptMgr.h"
#include "InstanceScript.h"
-#include "ruby_sanctum.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "ScriptMgr.h"
#include "TemporarySummon.h"
#include "WorldPacket.h"
+#include "ruby_sanctum.h"
DoorData const doorData[] =
{
@@ -37,6 +38,7 @@ class instance_ruby_sanctum : public InstanceMapScript
{
instance_ruby_sanctum_InstanceMapScript(InstanceMap* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
BaltharusTheWarbornGUID = 0;
@@ -52,6 +54,7 @@ class instance_ruby_sanctum : public InstanceMapScript
BaltharusSharedHealth = 0;
FlameWallsGUID = 0;
FlameRingGUID = 0;
+ TwilightFlameRingGUID = 0;
memset(ZarithrianSpawnStalkerGUID, 0, 2 * sizeof(uint64));
memset(BurningTreeGUID, 0, 4 * sizeof(uint64));
@@ -294,17 +297,6 @@ class instance_ruby_sanctum : public InstanceMapScript
return BaltharusSharedHealth;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "R S " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
void FillInitialWorldStates(WorldPacket& data) override
{
data << uint32(WORLDSTATE_CORPOREALITY_MATERIAL) << uint32(50);
@@ -312,39 +304,6 @@ class instance_ruby_sanctum : public InstanceMapScript
data << uint32(WORLDSTATE_CORPOREALITY_TOGGLE) << uint32(0);
}
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'R' && dataHead2 == 'S')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 BaltharusTheWarbornGUID;
uint64 GeneralZarithrianGUID;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h
index 016d541cec9..055e04a1328 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h
@@ -18,12 +18,9 @@
#ifndef RUBY_SANCTUM_H_
#define RUBY_SANCTUM_H_
-#include "SpellScript.h"
-#include "Map.h"
-#include "Creature.h"
-#include "GameObjectAI.h"
-
#define RSScriptName "instance_ruby_sanctum"
+#define DataHeader "RS"
+
uint32 const EncounterCount = 4;
Position const HalionControllerSpawnPos = {3156.037f, 533.2656f, 72.97205f, 0.0f};
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
index 7e9e351ae9c..f2d2c3e3d5b 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
@@ -156,11 +156,22 @@ public:
{
boss_eadricAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
creature->SetReactState(REACT_PASSIVE);
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
+ void Initialize()
+ {
+ uiVenganceTimer = 10000;
+ uiRadianceTimer = 16000;
+ uiHammerJusticeTimer = 25000;
+ uiResetTimer = 5000;
+
+ bDone = false;
+ }
+
InstanceScript* instance;
uint32 uiVenganceTimer;
@@ -172,12 +183,7 @@ public:
void Reset() override
{
- uiVenganceTimer = 10000;
- uiRadianceTimer = 16000;
- uiHammerJusticeTimer = 25000;
- uiResetTimer = 5000;
-
- bDone = false;
+ Initialize();
}
void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
@@ -260,6 +266,7 @@ public:
{
boss_paletressAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
MemoryGUID = 0;
@@ -268,6 +275,18 @@ public:
creature->RestoreFaction();
}
+ void Initialize()
+ {
+ uiHolyFireTimer = urand(9000, 12000);
+ uiHolySmiteTimer = urand(5000, 7000);
+ uiRenewTimer = urand(2000, 5000);
+
+ uiResetTimer = 7000;
+
+ bHealth = false;
+ bDone = false;
+ }
+
InstanceScript* instance;
uint64 MemoryGUID;
@@ -283,14 +302,7 @@ public:
{
me->RemoveAllAuras();
- uiHolyFireTimer = urand(9000, 12000);
- uiHolySmiteTimer = urand(5000, 7000);
- uiRenewTimer = urand(2000, 5000);
-
- uiResetTimer = 7000;
-
- bHealth = false;
- bDone = false;
+ Initialize();
if (Creature* pMemory = ObjectAccessor::GetCreature(*me, MemoryGUID))
if (pMemory->IsAlive())
@@ -415,7 +427,17 @@ public:
struct npc_memoryAI : public ScriptedAI
{
- npc_memoryAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_memoryAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ uiOldWoundsTimer = 12000;
+ uiShadowPastTimer = 5000;
+ uiWakingNightmare = 7000;
+ }
uint32 uiOldWoundsTimer;
uint32 uiShadowPastTimer;
@@ -423,9 +445,7 @@ public:
void Reset() override
{
- uiOldWoundsTimer = 12000;
- uiShadowPastTimer = 5000;
- uiWakingNightmare = 7000;
+ Initialize();
}
void UpdateAI(uint32 uiDiff) override
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
index a8aff70b034..e342b3bbfb1 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
@@ -83,9 +83,31 @@ public:
{
boss_black_knightAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ bEventInProgress = false;
+ bEvent = false;
+ bSummonArmy = false;
+ bDeathArmyDone = false;
+
+ uiPhase = PHASE_UNDEAD;
+
+ uiIcyTouchTimer = urand(5000, 9000);
+ uiPlagueStrikeTimer = urand(10000, 13000);
+ uiDeathRespiteTimer = urand(15000, 16000);
+ uiObliterateTimer = urand(17000, 19000);
+ uiDesecration = urand(15000, 16000);
+ uiDeathArmyCheckTimer = 7000;
+ uiResurrectTimer = 4000;
+ uiGhoulExplodeTimer = 8000;
+ uiDeathBiteTimer = urand(2000, 4000);
+ uiMarkedDeathTimer = urand(5000, 7000);
+ }
+
InstanceScript* instance;
std::list<uint64> SummonList;
@@ -114,23 +136,7 @@ public:
me->SetDisplayId(me->GetNativeDisplayId());
me->ClearUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
- bEventInProgress = false;
- bEvent = false;
- bSummonArmy = false;
- bDeathArmyDone = false;
-
- uiPhase = PHASE_UNDEAD;
-
- uiIcyTouchTimer = urand(5000, 9000);
- uiPlagueStrikeTimer = urand(10000, 13000);
- uiDeathRespiteTimer = urand(15000, 16000);
- uiObliterateTimer = urand(17000, 19000);
- uiDesecration = urand(15000, 16000);
- uiDeathArmyCheckTimer = 7000;
- uiResurrectTimer = 4000;
- uiGhoulExplodeTimer = 8000;
- uiDeathBiteTimer = urand(2000, 4000);
- uiMarkedDeathTimer = urand(5000, 7000);
+ Initialize();
}
void RemoveSummons()
@@ -310,13 +316,21 @@ public:
struct npc_risen_ghoulAI : public ScriptedAI
{
- npc_risen_ghoulAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_risen_ghoulAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ uiAttackTimer = 3500;
+ }
uint32 uiAttackTimer;
void Reset() override
{
- uiAttackTimer = 3500;
+ Initialize();
}
void UpdateAI(uint32 uiDiff) override
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
index 23753278e27..a0cb4ca6d6f 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
@@ -155,12 +155,20 @@ public:
{
generic_vehicleAI_toc5AI(Creature* creature) : npc_escortAI(creature)
{
+ Initialize();
SetDespawnAtEnd(false);
uiWaypointPath = 0;
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiChargeTimer = 5000;
+ uiShieldBreakerTimer = 8000;
+ uiBuffTimer = urand(30000, 60000);
+ }
+
InstanceScript* instance;
uint32 uiChargeTimer;
@@ -171,9 +179,7 @@ public:
void Reset() override
{
- uiChargeTimer = 5000;
- uiShieldBreakerTimer = 8000;
- uiBuffTimer = urand(30000, 60000);
+ Initialize();
}
void SetData(uint32 uiType, uint32 /*uiData*/) override
@@ -311,6 +317,7 @@ public:
{
boss_warrior_toc5AI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
bDone = false;
@@ -324,6 +331,13 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
+ void Initialize()
+ {
+ uiBladeStormTimer = urand(15000, 20000);
+ uiInterceptTimer = 7000;
+ uiMortalStrikeTimer = urand(8000, 12000);
+ }
+
InstanceScript* instance;
uint8 uiPhase;
@@ -339,9 +353,7 @@ public:
void Reset() override
{
- uiBladeStormTimer = urand(15000, 20000);
- uiInterceptTimer = 7000;
- uiMortalStrikeTimer = urand(8000, 12000);
+ Initialize();
}
void JustReachedHome() override
@@ -443,6 +455,7 @@ public:
{
boss_mage_toc5AI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
bDone = false;
@@ -456,6 +469,14 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
+ void Initialize()
+ {
+ uiFireBallTimer = 5000;
+ uiPolymorphTimer = 8000;
+ uiBlastWaveTimer = 12000;
+ uiHasteTimer = 22000;
+ }
+
InstanceScript* instance;
uint8 uiPhase;
@@ -471,10 +492,7 @@ public:
void Reset() override
{
- uiFireBallTimer = 5000;
- uiPolymorphTimer = 8000;
- uiBlastWaveTimer = 12000;
- uiHasteTimer = 22000;
+ Initialize();
}
void JustReachedHome() override
@@ -580,6 +598,7 @@ public:
{
boss_shaman_toc5AI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
bDone = false;
@@ -593,6 +612,14 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
+ void Initialize()
+ {
+ uiChainLightningTimer = 16000;
+ uiHealingWaveTimer = 12000;
+ uiEartShieldTimer = urand(30000, 35000);
+ uiHexMendingTimer = urand(20000, 25000);
+ }
+
InstanceScript* instance;
uint8 uiPhase;
@@ -608,10 +635,7 @@ public:
void Reset() override
{
- uiChainLightningTimer = 16000;
- uiHealingWaveTimer = 12000;
- uiEartShieldTimer = urand(30000, 35000);
- uiHexMendingTimer = urand(20000, 25000);
+ Initialize();
}
void EnterCombat(Unit* who) override
@@ -725,6 +749,7 @@ public:
{
boss_hunter_toc5AI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
bDone = false;
@@ -738,6 +763,17 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
+ void Initialize()
+ {
+ uiShootTimer = 12000;
+ uiMultiShotTimer = 0;
+ uiLightningArrowsTimer = 7000;
+
+ uiTargetGUID = 0;
+
+ bShoot = false;
+ }
+
InstanceScript* instance;
uint8 uiPhase;
@@ -755,13 +791,7 @@ public:
void Reset() override
{
- uiShootTimer = 12000;
- uiMultiShotTimer = 0;
- uiLightningArrowsTimer = 7000;
-
- uiTargetGUID = 0;
-
- bShoot = false;
+ Initialize();
}
void JustReachedHome() override
@@ -879,6 +909,7 @@ public:
{
boss_rouge_toc5AI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
bDone = false;
@@ -892,6 +923,13 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
+ void Initialize()
+ {
+ uiEviscerateTimer = 8000;
+ uiFanKivesTimer = 14000;
+ uiPosionBottleTimer = 19000;
+ }
+
InstanceScript* instance;
uint8 uiPhase;
@@ -905,9 +943,7 @@ public:
void Reset() override
{
- uiEviscerateTimer = 8000;
- uiFanKivesTimer = 14000;
- uiPosionBottleTimer = 19000;
+ Initialize();
}
void JustReachedHome() override
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
index 5209e8b2f94..021947db0f7 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
@@ -68,6 +68,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
uiMovementDone = 0;
uiGrandChampionsDeaths = 0;
uiArgentSoldierDeaths = 0;
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp
index e0930a1ae2e..e073d08ef1d 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp
@@ -115,8 +115,6 @@ public:
uint64 uiVehicle2GUID;
uint64 uiVehicle3GUID;
- uint64 uiGrandChampionBoss1;
-
std::list<uint64> Champion1List;
std::list<uint64> Champion2List;
std::list<uint64> Champion3List;
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h
index 2b69fcbcc08..4e3979dd0f9 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h
@@ -19,6 +19,8 @@
#ifndef DEF_TOC_H
#define DEF_TOC_H
+#define DataHeader "TC"
+
enum Data
{
BOSS_GRAND_CHAMPIONS,
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
index 7af55ec37ea..2f29e03a2f2 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
@@ -166,6 +166,13 @@ class boss_anubarak_trial : public CreatureScript
{
boss_anubarak_trialAI(Creature* creature) : BossAI(creature, BOSS_ANUBARAK)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _intro = true;
+ _reachedPhase3 = false;
}
void Reset() override
@@ -183,8 +190,7 @@ class boss_anubarak_trial : public CreatureScript
if (!IsHeroic())
events.ScheduleEvent(EVENT_SUMMON_FROST_SPHERE, 20*IN_MILLISECONDS);
- _intro = true;
- _reachedPhase3 = false;
+ Initialize();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
// clean up spawned Frost Spheres
std::list<Creature*> FrostSphereList;
@@ -436,13 +442,19 @@ class npc_swarm_scarab : public CreatureScript
{
npc_swarm_scarabAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
_instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ _determinationTimer = urand(5 * IN_MILLISECONDS, 60 * IN_MILLISECONDS);
+ }
+
void Reset() override
{
me->SetCorpseDelay(0);
- _determinationTimer = urand(5*IN_MILLISECONDS, 60*IN_MILLISECONDS);
+ Initialize();
DoCast(me, SPELL_ACID_MANDIBLE);
me->SetInCombatWithZone();
if (me->IsInCombat())
@@ -508,13 +520,19 @@ class npc_nerubian_burrower : public CreatureScript
{
npc_nerubian_burrowerAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
_instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ _submergeTimer = 30 * IN_MILLISECONDS;
+ }
+
void Reset() override
{
me->SetCorpseDelay(10);
- _submergeTimer = 30*IN_MILLISECONDS;
+ Initialize();
DoCast(me, SPELL_EXPOSE_WEAKNESS);
DoCast(me, SPELL_SPIDER_FRENZY);
DoCast(me, SPELL_AWAKENED);
@@ -669,12 +687,18 @@ class npc_anubarak_spike : public CreatureScript
{
npc_anubarak_spikeAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
}
- void Reset() override
+ void Initialize()
{
_phase = PHASE_NO_MOVEMENT;
_phaseSwitchTimer = 1;
+ }
+
+ void Reset() override
+ {
+ Initialize();
// make sure the spike has everyone on threat list
me->SetInCombatWithZone();
}
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
index 0a43c01081f..3d59f24b6dd 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
@@ -348,10 +348,11 @@ class boss_toc_champion_controller : public CreatureScript
{
boss_toc_champion_controllerAI(Creature* creature) : ScriptedAI(creature), _summons(me)
{
+ Initialize();
_instance = creature->GetInstanceScript();
}
- void Reset() override
+ void Initialize()
{
_championsNotStarted = 0;
_championsFailed = 0;
@@ -359,6 +360,11 @@ class boss_toc_champion_controller : public CreatureScript
_inProgress = false;
}
+ void Reset() override
+ {
+ Initialize();
+ }
+
std::vector<uint32> SelectChampions(Team playerTeam)
{
std::vector<uint32> vHealersEntries;
@@ -1908,7 +1914,17 @@ class npc_toc_enh_shaman : public CreatureScript
struct npc_toc_enh_shamanAI : public boss_faction_championsAI
{
- npc_toc_enh_shamanAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
+ npc_toc_enh_shamanAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _totemCount = 0;
+ _totemOldCenterX = me->GetPositionX();
+ _totemOldCenterY = me->GetPositionY();
+ }
void Reset() override
{
@@ -1920,9 +1936,7 @@ class npc_toc_enh_shaman : public CreatureScript
events.ScheduleEvent(EVENT_DEPLOY_TOTEM, 1*IN_MILLISECONDS);
events.ScheduleEvent(EVENT_WINDFURY, urand(20*IN_MILLISECONDS, 50*IN_MILLISECONDS));
- _totemCount = 0;
- _totemOldCenterX = me->GetPositionX();
- _totemOldCenterY = me->GetPositionY();
+ Initialize();
SetEquipmentSlots(false, 51803, 48013, EQUIP_NO_CHANGE);
summons.DespawnAll();
}
@@ -2192,12 +2206,20 @@ class npc_toc_pet_hunter : public CreatureScript
struct npc_toc_pet_hunterAI : public boss_faction_championsAI
{
- npc_toc_pet_hunterAI(Creature* creature) : boss_faction_championsAI(creature, AI_PET) { }
+ npc_toc_pet_hunterAI(Creature* creature) : boss_faction_championsAI(creature, AI_PET)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _clawTimer = urand(5 * IN_MILLISECONDS, 10 * IN_MILLISECONDS);
+ }
void Reset() override
{
boss_faction_championsAI::Reset();
- _clawTimer = urand(5*IN_MILLISECONDS, 10*IN_MILLISECONDS);
+ Initialize();
}
void UpdateAI(uint32 diff) override
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
index c0f7b2f1856..a8a370076a8 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
@@ -315,12 +315,18 @@ class npc_fel_infernal : public CreatureScript
{
npc_fel_infernalAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
_instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ _felStreakTimer = 30 * IN_MILLISECONDS;
+ }
+
void Reset() override
{
- _felStreakTimer = 30*IN_MILLISECONDS;
+ Initialize();
me->SetInCombatWithZone();
}
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
index 9e75bef9735..f4112b7a43b 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
@@ -492,6 +492,18 @@ struct boss_jormungarAI : public BossAI
{
boss_jormungarAI(Creature* creature) : BossAI(creature, BOSS_BEASTS)
{
+ OtherWormEntry = 0;
+ ModelStationary = 0;
+ ModelMobile = 0;
+
+ BiteSpell = 0;
+ SpewSpell = 0;
+ SpitSpell = 0;
+ SpraySpell = 0;
+
+ Phase = PHASE_MOBILE;
+ Enraged = false;
+ WasMobile = false;
}
void Reset() override
@@ -780,12 +792,18 @@ class npc_slime_pool : public CreatureScript
{
npc_slime_poolAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
_instance = creature->GetInstanceScript();
}
- void Reset() override
+ void Initialize()
{
_cast = false;
+ }
+
+ void Reset() override
+ {
+ Initialize();
me->SetReactState(REACT_PASSIVE);
}
@@ -851,14 +869,11 @@ class boss_icehowl : public CreatureScript
{
boss_icehowlAI(Creature* creature) : BossAI(creature, BOSS_BEASTS)
{
+ Initialize();
}
- void Reset() override
+ void Initialize()
{
- events.ScheduleEvent(EVENT_FEROCIOUS_BUTT, urand(15*IN_MILLISECONDS, 30*IN_MILLISECONDS));
- events.ScheduleEvent(EVENT_ARCTIC_BREATH, urand(15*IN_MILLISECONDS, 25*IN_MILLISECONDS));
- events.ScheduleEvent(EVENT_WHIRL, urand(15*IN_MILLISECONDS, 30*IN_MILLISECONDS));
- events.ScheduleEvent(EVENT_MASSIVE_CRASH, 30*IN_MILLISECONDS);
_movementStarted = false;
_movementFinish = false;
_trampleCast = false;
@@ -869,6 +884,15 @@ class boss_icehowl : public CreatureScript
_stage = 0;
}
+ void Reset() override
+ {
+ events.ScheduleEvent(EVENT_FEROCIOUS_BUTT, urand(15*IN_MILLISECONDS, 30*IN_MILLISECONDS));
+ events.ScheduleEvent(EVENT_ARCTIC_BREATH, urand(15*IN_MILLISECONDS, 25*IN_MILLISECONDS));
+ events.ScheduleEvent(EVENT_WHIRL, urand(15*IN_MILLISECONDS, 30*IN_MILLISECONDS));
+ events.ScheduleEvent(EVENT_MASSIVE_CRASH, 30*IN_MILLISECONDS);
+ Initialize();
+ }
+
void JustDied(Unit* /*killer*/) override
{
_JustDied();
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
index 68de65f9f7b..1118c1ec27b 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
@@ -143,6 +143,33 @@ struct boss_twin_baseAI : public BossAI
{
boss_twin_baseAI(Creature* creature) : BossAI(creature, BOSS_VALKIRIES)
{
+ Initialize();
+ AuraState = AURA_STATE_NONE;
+
+ Stage = 0;
+
+ Weapon = 0;
+
+ VortexEmote = 0;
+ SisterNpcId = 0;
+ MyEmphatySpellId = 0;
+ OtherEssenceSpellId = 0;
+ SurgeSpellId = 0;
+ VortexSpellId = 0;
+ ShieldSpellId = 0;
+ TwinPactSpellId = 0;
+ SpikeSpellId = 0;
+ TouchSpellId = 0;
+ }
+
+ void Initialize()
+ {
+ IsBerserk = false;
+
+ SpecialAbilityTimer = 1 * MINUTE*IN_MILLISECONDS;
+ SpikeTimer = 20 * IN_MILLISECONDS;
+ TouchTimer = urand(10 * IN_MILLISECONDS, 15 * IN_MILLISECONDS);
+ BerserkTimer = IsHeroic() ? 6 * MINUTE*IN_MILLISECONDS : 10 * MINUTE*IN_MILLISECONDS;
}
void Reset() override
@@ -153,12 +180,7 @@ struct boss_twin_baseAI : public BossAI
/* Uncomment this once that they are floating above the ground
me->SetLevitate(true);
me->SetFlying(true); */
- IsBerserk = false;
-
- SpecialAbilityTimer = 1*MINUTE*IN_MILLISECONDS;
- SpikeTimer = 20*IN_MILLISECONDS;
- TouchTimer = urand(10*IN_MILLISECONDS, 15*IN_MILLISECONDS);
- BerserkTimer = IsHeroic() ? 6*MINUTE*IN_MILLISECONDS : 10*MINUTE*IN_MILLISECONDS;
+ Initialize();
summons.DespawnAll();
}
@@ -524,6 +546,12 @@ struct npc_unleashed_ballAI : public ScriptedAI
{
npc_unleashed_ballAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ RangeCheckTimer = 0.5*IN_MILLISECONDS;
}
void MoveToNextPoint()
@@ -548,7 +576,7 @@ struct npc_unleashed_ballAI : public ScriptedAI
me->SetCanFly(true);
SetCombatMovement(false);
MoveToNextPoint();
- RangeCheckTimer = 0.5*IN_MILLISECONDS;
+ Initialize();
}
void MovementInform(uint32 uiType, uint32 uiId) override
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
index 7cab84ee4a7..3b919a778b3 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
@@ -33,6 +33,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
void Initialize() override
{
+ SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTERS);
TrialCounter = 50;
EventStage = 0;
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
index 11548ba4b1c..7829d1be627 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
@@ -240,7 +240,6 @@ class boss_lich_king_toc : public CreatureScript
void Reset() override
{
- _updateTimer = 0;
me->SetReactState(REACT_PASSIVE);
if (Creature* summoned = me->SummonCreature(NPC_TRIGGER, ToCCommonLoc[2].GetPositionX(), ToCCommonLoc[2].GetPositionY(), ToCCommonLoc[2].GetPositionZ(), 5, TEMPSUMMON_TIMED_DESPAWN, 1*MINUTE*IN_MILLISECONDS))
{
@@ -278,7 +277,7 @@ class boss_lich_king_toc : public CreatureScript
if (_instance->GetData(TYPE_EVENT_NPC) != NPC_LICH_KING)
return;
- _updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
+ uint32 _updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
if (_updateTimer <= uiDiff)
{
switch (_instance->GetData(TYPE_EVENT))
@@ -352,7 +351,6 @@ class boss_lich_king_toc : public CreatureScript
private:
InstanceScript* _instance;
- uint32 _updateTimer;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -370,7 +368,14 @@ class npc_fizzlebang_toc : public CreatureScript
{
npc_fizzlebang_tocAI(Creature* creature) : ScriptedAI(creature), _summons(me)
{
+ Initialize();
_instance = me->GetInstanceScript();
+ _triggerGUID = 0;
+ }
+
+ void Initialize()
+ {
+ _portalGUID = 0;
}
void JustDied(Unit* killer) override
@@ -388,7 +393,7 @@ class npc_fizzlebang_toc : public CreatureScript
void Reset() override
{
me->SetWalk(true);
- _portalGUID = 0;
+ Initialize();
me->GetMotionMaster()->MovePoint(1, ToCCommonLoc[10].GetPositionX(), ToCCommonLoc[10].GetPositionY()-60, ToCCommonLoc[10].GetPositionZ());
}
@@ -423,7 +428,7 @@ class npc_fizzlebang_toc : public CreatureScript
if (_instance->GetData(TYPE_EVENT_NPC) != NPC_FIZZLEBANG)
return;
- _updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
+ uint32 _updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
if (_updateTimer <= uiDiff)
{
switch (_instance->GetData(TYPE_EVENT))
@@ -521,7 +526,6 @@ class npc_fizzlebang_toc : public CreatureScript
private:
InstanceScript* _instance;
SummonList _summons;
- uint32 _updateTimer;
uint64 _portalGUID;
uint64 _triggerGUID;
};
@@ -556,7 +560,7 @@ class npc_tirion_toc : public CreatureScript
if (_instance->GetData(TYPE_EVENT_NPC) != NPC_TIRION)
return;
- _updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
+ uint32 _updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
if (_updateTimer <= uiDiff)
{
switch (_instance->GetData(TYPE_EVENT))
@@ -811,7 +815,6 @@ class npc_tirion_toc : public CreatureScript
}
private:
InstanceScript* _instance;
- uint32 _updateTimer;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -844,7 +847,7 @@ class npc_garrosh_toc : public CreatureScript
if (_instance->GetData(TYPE_EVENT_NPC) != NPC_GARROSH)
return;
- _updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
+ uint32 _updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
if (_updateTimer <= uiDiff)
{
switch (_instance->GetData(TYPE_EVENT))
@@ -895,7 +898,6 @@ class npc_garrosh_toc : public CreatureScript
}
private:
InstanceScript* _instance;
- uint32 _updateTimer;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -928,7 +930,7 @@ class npc_varian_toc : public CreatureScript
if (_instance->GetData(TYPE_EVENT_NPC) != NPC_VARIAN)
return;
- _updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
+ uint32 _updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
if (_updateTimer <= uiDiff)
{
switch (_instance->GetData(TYPE_EVENT))
@@ -979,7 +981,6 @@ class npc_varian_toc : public CreatureScript
}
private:
InstanceScript* _instance;
- uint32 _updateTimer;
};
CreatureAI* GetAI(Creature* creature) const override
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
index dc0f390f8e0..cf08fb75228 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
@@ -5,6 +5,8 @@
#ifndef DEF_CRUSADER_H
#define DEF_CRUSADER_H
+#define DataHeader "TCR"
+
enum DataTypes
{
BOSS_BEASTS = 0,
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
index a1690598532..694e502e508 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
@@ -58,10 +58,19 @@ class boss_king_dred : public CreatureScript
struct boss_king_dredAI : public BossAI
{
- boss_king_dredAI(Creature* creature) : BossAI(creature, DATA_KING_DRED) { }
+ boss_king_dredAI(Creature* creature) : BossAI(creature, DATA_KING_DRED)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ raptorsKilled = 0;
+ }
void Reset() override
{
+ Initialize();
_Reset();
}
@@ -166,16 +175,22 @@ class npc_drakkari_gutripper : public CreatureScript
{
npc_drakkari_gutripperAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = me->GetInstanceScript();
}
+ void Initialize()
+ {
+ GutRipTimer = urand(10000, 15000);
+ }
+
InstanceScript* instance;
uint32 GutRipTimer;
void Reset() override
{
- GutRipTimer = urand(10000, 15000);
+ Initialize();
}
void UpdateAI(uint32 diff) override
@@ -216,16 +231,22 @@ class npc_drakkari_scytheclaw : public CreatureScript
{
npc_drakkari_scytheclawAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = me->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiRendTimer = urand(10000, 15000);
+ }
+
InstanceScript* instance;
uint32 uiRendTimer;
void Reset() override
{
- uiRendTimer = urand(10000, 15000);
+ Initialize();
}
void UpdateAI(uint32 diff) override
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
index 4e9462a447f..6b26143745b 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
@@ -80,14 +80,23 @@ public:
struct boss_novosAI : public BossAI
{
- boss_novosAI(Creature* creature) : BossAI(creature, DATA_NOVOS) { }
+ boss_novosAI(Creature* creature) : BossAI(creature, DATA_NOVOS)
+ {
+ Initialize();
+ _bubbled = false;
+ }
+
+ void Initialize()
+ {
+ _ohNovos = true;
+ _crystalHandlerCount = 0;
+ }
void Reset() override
{
_Reset();
- _ohNovos = true;
- _crystalHandlerCount = 0;
+ Initialize();
SetCrystalsStatus(false);
SetSummonerStatus(false);
SetBubbled(false);
@@ -280,15 +289,23 @@ public:
struct npc_crystal_channel_targetAI : public ScriptedAI
{
- npc_crystal_channel_targetAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_crystal_channel_targetAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
_spell = 0;
_timer = 0;
_temp = 0;
}
+ void Reset() override
+ {
+ Initialize();
+ }
+
void UpdateAI(uint32 diff) override
{
if (_spell)
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
index 13d968d9e06..a8f083c97ee 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
@@ -73,12 +73,20 @@ class boss_trollgore : public CreatureScript
struct boss_trollgoreAI : public BossAI
{
- boss_trollgoreAI(Creature* creature) : BossAI(creature, DATA_TROLLGORE) { }
+ boss_trollgoreAI(Creature* creature) : BossAI(creature, DATA_TROLLGORE)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _consumptionJunction = true;
+ }
void Reset() override
{
_Reset();
- _consumptionJunction = true;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h b/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h
index b5e7be25d73..fd260e2c5ba 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h
+++ b/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h
@@ -19,6 +19,7 @@
#define DRAK_THARON_KEEP_H_
#define DrakTharonKeepScriptName "instance_drak_tharon_keep"
+#define DataHeader "DTK"
uint32 const EncounterCount = 4;
diff --git a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
index d7c21991ca0..30b473b6ebc 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
@@ -29,6 +29,7 @@ class instance_drak_tharon_keep : public InstanceMapScript
{
instance_drak_tharon_keep_InstanceScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
TrollgoreGUID = 0;
@@ -159,49 +160,6 @@ class instance_drak_tharon_keep : public InstanceMapScript
novos->AI()->DoAction(ACTION_CRYSTAL_HANDLER_DIED);
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "D K " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'D' && dataHead2 == 'K')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 TrollgoreGUID;
uint64 NovosGUID;
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
index fe98f005bca..670591a058c 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
@@ -71,14 +71,6 @@ class boss_bronjahm : public CreatureScript
DoCast(me, SPELL_SOULSTORM_CHANNEL, true);
}
- void InitializeAI() override
- {
- if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != sObjectMgr->GetScriptId(FoSScriptName))
- me->IsAIEnabled = false;
- else if (!me->isDead())
- Reset();
- }
-
void Reset() override
{
events.Reset();
@@ -188,7 +180,7 @@ class boss_bronjahm : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_bronjahmAI>(creature);
+ return GetInstanceAI<boss_bronjahmAI>(creature, FoSScriptName);
}
};
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
index a048abd6554..4b4fd398e72 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
@@ -130,14 +130,15 @@ class boss_devourer_of_souls : public CreatureScript
{
boss_devourer_of_soulsAI(Creature* creature) : BossAI(creature, DATA_DEVOURER_EVENT)
{
+ Initialize();
+ beamAngle = 0.f;
+ beamAngleDiff = 0.f;
+ wailingSoulTick = 0;
}
- void InitializeAI() override
+ void Initialize()
{
- if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != sObjectMgr->GetScriptId(FoSScriptName))
- me->IsAIEnabled = false;
- else if (!me->isDead())
- Reset();
+ threeFaced = true;
}
void Reset() override
@@ -149,7 +150,7 @@ class boss_devourer_of_souls : public CreatureScript
events.Reset();
summons.DespawnAll();
- threeFaced = true;
+ Initialize();
instance->SetData(DATA_DEVOURER_EVENT, NOT_STARTED);
}
@@ -345,7 +346,7 @@ class boss_devourer_of_souls : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_devourer_of_soulsAI>(creature);
+ return GetInstanceAI<boss_devourer_of_soulsAI>(creature, FoSScriptName);
}
};
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
index fc9a786aab9..7a36dfe7fae 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
@@ -80,10 +80,16 @@ public:
{
npc_sylvanas_fosAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = me->GetInstanceScript();
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}
+ void Initialize()
+ {
+ phase = PHASE_NORMAL;
+ }
+
InstanceScript* instance;
EventMap events;
@@ -92,7 +98,7 @@ public:
void Reset() override
{
events.Reset();
- phase = PHASE_NORMAL;
+ Initialize();
}
void DoAction(int32 actionId) override
@@ -203,10 +209,16 @@ public:
{
npc_jaina_fosAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = me->GetInstanceScript();
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}
+ void Initialize()
+ {
+ phase = PHASE_NORMAL;
+ }
+
InstanceScript* instance;
EventMap events;
@@ -215,7 +227,7 @@ public:
void Reset() override
{
events.Reset();
- phase = PHASE_NORMAL;
+ Initialize();
}
void DoAction(int32 actionId) override
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h
index 14220e26cdd..34340ae3018 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h
@@ -19,6 +19,7 @@
#define DEF_FORGE_OF_SOULS_H
#define FoSScriptName "instance_forge_of_souls"
+#define DataHeader "FOS"
enum Data
{
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
index 964787777a7..f3034fa0796 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
@@ -36,6 +36,7 @@ class instance_forge_of_souls : public InstanceMapScript
{
instance_forge_of_souls_InstanceScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTER);
bronjahm = 0;
devourerOfSouls = 0;
@@ -110,47 +111,6 @@ class instance_forge_of_souls : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "F S " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* in) override
- {
- if (!in)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(in);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(in);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'F' && dataHead2 == 'S')
- {
- for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- } else OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
private:
uint64 bronjahm;
uint64 devourerOfSouls;
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
index a5577b6a0ea..a014be4369e 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
@@ -55,12 +55,20 @@ class boss_falric : public CreatureScript
struct boss_falricAI : public boss_horAI
{
- boss_falricAI(Creature* creature) : boss_horAI(creature, DATA_FALRIC) { }
+ boss_falricAI(Creature* creature) : boss_horAI(creature, DATA_FALRIC)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _hopelessnessCount = 0;
+ }
void Reset() override
{
boss_horAI::Reset();
- _hopelessnessCount = 0;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
index a05035f7b44..578cf4f84fa 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
@@ -19,6 +19,7 @@
#define HALLS_OF_REFLECTION_H_
#define HoRScriptName "instance_halls_of_reflection"
+#define DataHeader "HOR"
uint32 const EncounterCount = 3;
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
index b17a5dbc8f5..f73181ba1f3 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
@@ -82,6 +82,7 @@ class instance_halls_of_reflection : public InstanceMapScript
{
instance_halls_of_reflection_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
JainaOrSylvanasIntroGUID = 0;
@@ -709,61 +710,25 @@ class instance_halls_of_reflection : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
+ void WriteSaveDataMore(std::ostringstream& data) override
{
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "H R " << GetBossSaveData() << _introState << ' ' << _frostswornGeneralState;
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
+ data << _introState << ' ' << _frostswornGeneralState;
}
- void Load(char const* in) override
+ void ReadSaveDataMore(std::istringstream& data) override
{
- if (!in)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(in);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(in);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'H' && dataHead2 == 'R')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
-
- uint32 temp = 0;
- loadStream >> temp;
- if (temp == DONE)
- SetData(DATA_INTRO_EVENT, DONE);
- else
- SetData(DATA_INTRO_EVENT, NOT_STARTED);
-
- loadStream >> temp;
- if (temp == DONE)
- SetData(DATA_FROSTSWORN_GENERAL, DONE);
- else
- SetData(DATA_FROSTSWORN_GENERAL, NOT_STARTED);
- }
+ uint32 temp = 0;
+ data >> temp;
+ if (temp == DONE)
+ SetData(DATA_INTRO_EVENT, DONE);
else
- OUT_LOAD_INST_DATA_FAIL;
+ SetData(DATA_INTRO_EVENT, NOT_STARTED);
- OUT_LOAD_INST_DATA_COMPLETE;
+ data >> temp;
+ if (temp == DONE)
+ SetData(DATA_FROSTSWORN_GENERAL, DONE);
+ else
+ SetData(DATA_FROSTSWORN_GENERAL, NOT_STARTED);
}
private:
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
index 783f9e245c8..62a6ac41074 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -82,14 +82,22 @@ class boss_garfrost : public CreatureScript
struct boss_garfrostAI : public BossAI
{
- boss_garfrostAI(Creature* creature) : BossAI(creature, DATA_GARFROST) { }
+ boss_garfrostAI(Creature* creature) : BossAI(creature, DATA_GARFROST)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _permafrostStack = 0;
+ }
void Reset() override
{
_Reset();
events.SetPhase(PHASE_ONE);
SetEquipmentSlots(true);
- _permafrostStack = 0;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
index 3f8e1cc6ee0..5b147344a59 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
@@ -140,6 +140,7 @@ class boss_ick : public CreatureScript
boss_ickAI(Creature* creature) : BossAI(creature, DATA_ICK), _vehicle(creature->GetVehicleKit())
{
ASSERT(_vehicle);
+ _tempThreat = 0;
}
void Reset() override
@@ -286,14 +287,20 @@ class boss_krick : public CreatureScript
{
boss_krickAI(Creature* creature) : ScriptedAI(creature), _instanceScript(creature->GetInstanceScript()), _summons(creature)
{
+ Initialize();
}
- void Reset() override
+ void Initialize()
{
- _events.Reset();
_phase = PHASE_COMBAT;
_outroNpcGUID = 0;
_tyrannusGUID = 0;
+ }
+
+ void Reset() override
+ {
+ _events.Reset();
+ Initialize();
me->SetReactState(REACT_PASSIVE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
index c4f46136bd9..f392b21b173 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
@@ -293,14 +293,20 @@ class boss_rimefang : public CreatureScript
boss_rimefangAI(Creature* creature) : ScriptedAI(creature), _vehicle(creature->GetVehicleKit())
{
ASSERT(_vehicle);
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _currentWaypoint = 0;
+ _hoarfrostTargetGUID = 0;
}
void Reset() override
{
_events.Reset();
_events.SetPhase(PHASE_NONE);
- _currentWaypoint = 0;
- _hoarfrostTargetGUID = 0;
+ Initialize();
me->SetCanFly(true);
me->SetReactState(REACT_PASSIVE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
index c2df16f03e1..d829b98f926 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
@@ -41,6 +41,7 @@ class instance_pit_of_saron : public InstanceMapScript
{
instance_pit_of_saron_InstanceScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(Doors);
_garfrostGUID = 0;
@@ -51,6 +52,7 @@ class instance_pit_of_saron : public InstanceMapScript
_jainaOrSylvanas1GUID = 0;
_jainaOrSylvanas2GUID = 0;
_teamInInstance = 0;
+ _tyrannusEventGUID = 0;
}
void OnPlayerEnter(Player* player) override
@@ -264,50 +266,6 @@ class instance_pit_of_saron : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "P S " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* in) override
- {
- if (!in)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(in);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(in);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'P' && dataHead2 == 'S')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
private:
uint64 _garfrostGUID;
uint64 _krickGUID;
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
index 7bd9325dd97..4d2ebd44db8 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
@@ -113,13 +113,19 @@ class npc_iceborn_protodrake : public CreatureScript
npc_iceborn_protodrakeAI(Creature* creature) : ScriptedAI(creature), _vehicle(creature->GetVehicleKit())
{
ASSERT(_vehicle);
+ Initialize();
}
- void Reset() override
+ void Initialize()
{
_frostBreathCooldown = 5000;
}
+ void Reset() override
+ {
+ Initialize();
+ }
+
void EnterCombat(Unit* /*who*/) override
{
_vehicle->RemoveAllPassengers();
@@ -161,13 +167,19 @@ class npc_geist_ambusher : public CreatureScript
{
npc_geist_ambusherAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
}
- void Reset() override
+ void Initialize()
{
_leapingFaceMaulCooldown = 9000;
}
+ void Reset() override
+ {
+ Initialize();
+ }
+
void EnterCombat(Unit* who) override
{
if (who->GetTypeId() != TYPEID_PLAYER)
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h
index 2a2f6a25741..4f06c6b2a26 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h
@@ -19,6 +19,7 @@
#define PIT_OF_SARON_H_
#define PoSScriptName "instance_pit_of_saron"
+#define DataHeader "POS"
uint32 const EncounterCount = 3;
diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
index 68929d2aa01..001f19679c4 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
@@ -82,14 +82,14 @@ class boss_drakkari_colossus : public CreatureScript
{
boss_drakkari_colossusAI(Creature* creature) : BossAI(creature, DATA_DRAKKARI_COLOSSUS_EVENT)
{
+ Initialize();
me->SetReactState(REACT_PASSIVE);
introDone = false;
}
- void InitializeAI() override
+ void Initialize()
{
- if (!me->isDead())
- Reset();
+ phase = COLOSSUS_PHASE_NORMAL;
}
void Reset() override
@@ -106,7 +106,7 @@ class boss_drakkari_colossus : public CreatureScript
//events.Reset(); -> done in _Reset();
events.ScheduleEvent(EVENT_MIGHTY_BLOW, urand(10000, 30000));
- phase = COLOSSUS_PHASE_NORMAL;
+ Initialize();
// Note: This should not be called, but before use SetBossState function we should use BossAI
// in all the bosses of the instance
@@ -393,13 +393,19 @@ public:
{
npc_living_mojoAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ mojoWaveTimer = 2 * IN_MILLISECONDS;
+ mojoPuddleTimer = 7 * IN_MILLISECONDS;
+ }
+
void Reset() override
{
- mojoWaveTimer = 2*IN_MILLISECONDS;
- mojoPuddleTimer = 7*IN_MILLISECONDS;
+ Initialize();
}
void MoveMojos(Creature* boss)
diff --git a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
index 8e0ff54e161..0783a79b381 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
@@ -44,9 +44,20 @@ public:
{
boss_eckAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiBerserkTimer = urand(60 * IN_MILLISECONDS, 90 * IN_MILLISECONDS); //60-90 secs according to wowwiki
+ uiBiteTimer = 5 * IN_MILLISECONDS;
+ uiSpitTimer = 10 * IN_MILLISECONDS;
+ uiSpringTimer = 8 * IN_MILLISECONDS;
+
+ bBerserk = false;
+ }
+
uint32 uiBerserkTimer;
uint32 uiBiteTimer;
uint32 uiSpitTimer;
@@ -58,12 +69,7 @@ public:
void Reset() override
{
- uiBerserkTimer = urand(60*IN_MILLISECONDS, 90*IN_MILLISECONDS); //60-90 secs according to wowwiki
- uiBiteTimer = 5*IN_MILLISECONDS;
- uiSpitTimer = 10*IN_MILLISECONDS;
- uiSpringTimer = 8*IN_MILLISECONDS;
-
- bBerserk = false;
+ Initialize();
instance->SetData(DATA_ECK_THE_FEROCIOUS_EVENT, NOT_STARTED);
}
diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
index f1c246dbbea..22e7ac280fd 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
@@ -77,9 +77,26 @@ public:
{
boss_gal_darahAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiStampedeTimer = 10 * IN_MILLISECONDS;
+ uiWhirlingSlashTimer = 21 * IN_MILLISECONDS;
+ uiPunctureTimer = 10 * IN_MILLISECONDS;
+ uiEnrageTimer = 15 * IN_MILLISECONDS;
+ uiImpalingChargeTimer = 21 * IN_MILLISECONDS;
+ uiStompTimer = 25 * IN_MILLISECONDS;
+ uiTransformationTimer = 9 * IN_MILLISECONDS;
+ uiPhaseCounter = 0;
+
+ shareTheLove = 0;
+ bStartOfTransformation = true;
+ Phase = TROLL;
+ }
+
uint32 uiStampedeTimer;
uint32 uiWhirlingSlashTimer;
uint32 uiPunctureTimer;
@@ -100,21 +117,9 @@ public:
void Reset() override
{
- uiStampedeTimer = 10*IN_MILLISECONDS;
- uiWhirlingSlashTimer = 21*IN_MILLISECONDS;
- uiPunctureTimer = 10*IN_MILLISECONDS;
- uiEnrageTimer = 15*IN_MILLISECONDS;
- uiImpalingChargeTimer = 21*IN_MILLISECONDS;
- uiStompTimer = 25*IN_MILLISECONDS;
- uiTransformationTimer = 9*IN_MILLISECONDS;
- uiPhaseCounter = 0;
+ Initialize();
impaledList.clear();
- shareTheLove = 0;
-
- bStartOfTransformation = true;
-
- Phase = TROLL;
me->SetDisplayId(DISPLAY_TROLL);
diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
index 7645d984aac..255a5ece261 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
@@ -61,9 +61,19 @@ public:
{
boss_moorabiAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiGroundTremorTimer = 18 * IN_MILLISECONDS;
+ uiNumblingShoutTimer = 10 * IN_MILLISECONDS;
+ uiDeterminedStabTimer = 20 * IN_MILLISECONDS;
+ uiTransformationTImer = 12 * IN_MILLISECONDS;
+ bPhase = false;
+ }
+
InstanceScript* instance;
bool bPhase;
@@ -75,11 +85,7 @@ public:
void Reset() override
{
- uiGroundTremorTimer = 18*IN_MILLISECONDS;
- uiNumblingShoutTimer = 10*IN_MILLISECONDS;
- uiDeterminedStabTimer = 20*IN_MILLISECONDS;
- uiTransformationTImer = 12*IN_MILLISECONDS;
- bPhase = false;
+ Initialize();
instance->SetData(DATA_MOORABI_EVENT, NOT_STARTED);
}
diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
index 98c8481b5ae..5db49415604 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
@@ -83,9 +83,19 @@ public:
{
boss_slad_ranAI(Creature* creature) : ScriptedAI(creature), lSummons(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiPoisonNovaTimer = 10 * IN_MILLISECONDS;
+ uiPowerfullBiteTimer = 3 * IN_MILLISECONDS;
+ uiVenomBoltTimer = 15 * IN_MILLISECONDS;
+ uiSpawnTimer = 5 * IN_MILLISECONDS;
+ uiPhase = 0;
+ }
+
uint32 uiPoisonNovaTimer;
uint32 uiPowerfullBiteTimer;
uint32 uiVenomBoltTimer;
@@ -100,11 +110,7 @@ public:
void Reset() override
{
- uiPoisonNovaTimer = 10*IN_MILLISECONDS;
- uiPowerfullBiteTimer = 3*IN_MILLISECONDS;
- uiVenomBoltTimer = 15*IN_MILLISECONDS;
- uiSpawnTimer = 5*IN_MILLISECONDS;
- uiPhase = 0;
+ Initialize();
lWrappedPlayers.clear();
lSummons.DespawnAll();
diff --git a/src/server/scripts/Northrend/Gundrak/gundrak.h b/src/server/scripts/Northrend/Gundrak/gundrak.h
index 4cdbec3c157..8f269705a45 100644
--- a/src/server/scripts/Northrend/Gundrak/gundrak.h
+++ b/src/server/scripts/Northrend/Gundrak/gundrak.h
@@ -18,6 +18,8 @@
#ifndef DEF_GUNDRAK_H
#define DEF_GUNDRAK_H
+#define DataHeader "GD"
+
enum Data
{
DATA_SLAD_RAN_EVENT,
diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
index 273cc4361af..e5efdad27f3 100644
--- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
+++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
@@ -45,6 +45,7 @@ public:
{
instance_gundrak_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
isHeroic = map->IsHeroic();
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
index a9088207ebe..3aebed81f0b 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -182,14 +182,20 @@ class boss_blood_council_controller : public CreatureScript
{
boss_blood_council_controllerAI(Creature* creature) : BossAI(creature, DATA_BLOOD_PRINCE_COUNCIL)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _invocationStage = 0;
+ _resetCounter = 0;
}
void Reset() override
{
events.Reset();
me->SetReactState(REACT_PASSIVE);
- _invocationStage = 0;
- _resetCounter = 0;
+ Initialize();
instance->SetBossState(DATA_BLOOD_PRINCE_COUNCIL, NOT_STARTED);
}
@@ -1142,6 +1148,7 @@ class npc_ball_of_flame : public CreatureScript
npc_ball_of_flameAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript())
{
_despawnTimer = 0;
+ _chaseGUID = 0;
}
void Reset() override
@@ -1224,7 +1231,12 @@ class npc_kinetic_bomb : public CreatureScript
struct npc_kinetic_bombAI : public ScriptedAI
{
- npc_kinetic_bombAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_kinetic_bombAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _x = 0.f;
+ _y = 0.f;
+ _groundZ = 0.f;
+ }
void Reset() override
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
index 104a8357917..29d50f1db2a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
@@ -143,6 +143,14 @@ class boss_blood_queen_lana_thel : public CreatureScript
{
boss_blood_queen_lana_thelAI(Creature* creature) : BossAI(creature, DATA_BLOOD_QUEEN_LANA_THEL)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _offtankGUID = 0;
+ _creditBloodQuickening = false;
+ _killMinchar = false;
}
void Reset() override
@@ -157,10 +165,8 @@ class boss_blood_queen_lana_thel : public CreatureScript
events.ScheduleEvent(EVENT_TWILIGHT_BLOODBOLT, urand(20000, 25000), EVENT_GROUP_NORMAL);
events.ScheduleEvent(EVENT_AIR_PHASE, 124000 + uint32(Is25ManRaid() ? 3000 : 0));
CleanAuras();
- _offtankGUID = 0;
_vampires.clear();
- _creditBloodQuickening = false;
- _killMinchar = false;
+ Initialize();
}
void EnterCombat(Unit* who) override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 5ef84c7bb40..4b9308fc12d 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -249,18 +249,24 @@ class boss_deathbringer_saurfang : public CreatureScript
{
boss_deathbringer_saurfangAI(Creature* creature) : BossAI(creature, DATA_DEATHBRINGER_SAURFANG)
{
+ Initialize();
ASSERT(creature->GetVehicleKit()); // we dont actually use it, just check if exists
_introDone = false;
_fallenChampionCastCount = 0;
}
+ void Initialize()
+ {
+ _frenzied = false;
+ _dead = false;
+ }
+
void Reset() override
{
_Reset();
me->SetReactState(REACT_DEFENSIVE);
events.SetPhase(PHASE_COMBAT);
- _frenzied = false;
- _dead = false;
+ Initialize();
me->SetPower(POWER_ENERGY, 0);
DoCast(me, SPELL_ZERO_POWER, true);
DoCast(me, SPELL_BLOOD_LINK, true);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
index a60d2cfd823..6cc86ff0096 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
@@ -218,6 +218,14 @@ class boss_lady_deathwhisper : public CreatureScript
boss_lady_deathwhisperAI(Creature* creature) : BossAI(creature, DATA_LADY_DEATHWHISPER),
_dominateMindCount(RAID_MODE<uint8>(0, 1, 1, 3)), _introDone(false)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _waveCounter = 0;
+ _nextVengefulShadeTargetGUID = 0;
+ _darnavanGUID = 0;
}
void Reset() override
@@ -225,9 +233,7 @@ class boss_lady_deathwhisper : public CreatureScript
_Reset();
me->SetPower(POWER_MANA, me->GetMaxPower(POWER_MANA));
events.SetPhase(PHASE_ONE);
- _waveCounter = 0;
- _nextVengefulShadeTargetGUID = 0;
- _darnavanGUID = 0;
+ Initialize();
DoCast(me, SPELL_SHADOW_CHANNELING);
me->RemoveAurasDueToSpell(SPELL_BERSERK);
me->RemoveAurasDueToSpell(SPELL_MANA_BARRIER);
@@ -837,6 +843,13 @@ class npc_darnavan : public CreatureScript
{
npc_darnavanAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _canCharge = true;
+ _canShatter = true;
}
void Reset() override
@@ -846,8 +859,7 @@ class npc_darnavan : public CreatureScript
_events.ScheduleEvent(EVENT_DARNAVAN_INTIMIDATING_SHOUT, urand(20000, 25000));
_events.ScheduleEvent(EVENT_DARNAVAN_MORTAL_STRIKE, urand(25000, 30000));
_events.ScheduleEvent(EVENT_DARNAVAN_SUNDER_ARMOR, urand(5000, 8000));
- _canCharge = true;
- _canShatter = true;
+ Initialize();
}
void JustDied(Unit* killer) override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
index 9d24ad062df..b7bf27177ea 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
@@ -133,6 +133,7 @@ class boss_lord_marrowgar : public CreatureScript
_coldflameLastPos.Relocate(creature);
_introDone = false;
_boneSlice = false;
+ _coldflameTarget = 0;
}
void Reset() override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index 11f20129b3e..c1a13c90780 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -223,6 +223,7 @@ class boss_professor_putricide : public CreatureScript
_baseSpeed(creature->GetSpeedRate(MOVE_RUN)), _experimentState(EXPERIMENT_STATE_OOZE)
{
_phase = PHASE_NONE;
+ _oozeFloodStage = 0;
}
void Reset() override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index 76c5a93f9c5..3b65c10aaa9 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -221,6 +221,14 @@ class boss_sindragosa : public CreatureScript
{
boss_sindragosaAI(Creature* creature) : BossAI(creature, DATA_SINDRAGOSA), _summoned(false)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _mysticBuffetStack = 0;
+ _isInAirPhase = false;
+ _isThirdPhase = false;
}
void Reset() override
@@ -235,9 +243,7 @@ class boss_sindragosa : public CreatureScript
events.ScheduleEvent(EVENT_UNCHAINED_MAGIC, urand(9000, 14000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_ICY_GRIP, 33500, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_AIR_PHASE, 50000);
- _mysticBuffetStack = 0;
- _isInAirPhase = false;
- _isThirdPhase = false;
+ Initialize();
if (!_summoned)
{
@@ -558,6 +564,7 @@ class npc_ice_tomb : public CreatureScript
npc_ice_tombAI(Creature* creature) : ScriptedAI(creature)
{
_trappedPlayerGUID = 0;
+ _existenceCheckTimer = 0;
SetCombatMovement(false);
}
@@ -765,6 +772,12 @@ class npc_rimefang : public CreatureScript
{
npc_rimefangAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _summoned(false)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _icyBlastCounter = 0;
}
void InitializeAI() override
@@ -783,7 +796,7 @@ class npc_rimefang : public CreatureScript
_events.ScheduleEvent(EVENT_FROST_BREATH_RIMEFANG, urand(12000, 15000));
_events.ScheduleEvent(EVENT_ICY_BLAST, urand(30000, 35000));
me->SetReactState(REACT_DEFENSIVE);
- _icyBlastCounter = 0;
+ Initialize();
if (!_summoned)
{
@@ -922,7 +935,14 @@ class npc_sindragosa_trash : public CreatureScript
{
npc_sindragosa_trashAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
_instance = creature->GetInstanceScript();
+ _frostwyrmId = 0;
+ }
+
+ void Initialize()
+ {
+ _isTaunted = false;
}
void InitializeAI() override
@@ -946,7 +966,7 @@ class npc_sindragosa_trash : public CreatureScript
_events.ScheduleEvent(EVENT_CONCUSSIVE_SHOCK, urand(8000, 10000));
}
- _isTaunted = false;
+ Initialize();
}
void JustRespawned() override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index 55c1003ff0c..50e98422481 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -483,6 +483,13 @@ class boss_the_lich_king : public CreatureScript
{
boss_the_lich_kingAI(Creature* creature) : BossAI(creature, DATA_THE_LICH_KING)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _necroticPlagueStack = 0;
+ _vileSpiritExplosions = 0;
}
void Reset() override
@@ -490,8 +497,7 @@ class boss_the_lich_king : public CreatureScript
_Reset();
me->SetReactState(REACT_PASSIVE);
events.SetPhase(PHASE_INTRO);
- _necroticPlagueStack = 0;
- _vileSpiritExplosions = 0;
+ Initialize();
SetEquipmentSlots(true);
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index 68344593434..6d297252dcb 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -282,6 +282,17 @@ class boss_valithria_dreamwalker : public CreatureScript
boss_valithria_dreamwalkerAI(Creature* creature) : ScriptedAI(creature),
_instance(creature->GetInstanceScript()), _portalCount(RAID_MODE<uint32>(3, 8, 3, 8))
{
+ Initialize();
+ _spawnHealth = me->GetHealth();
+ }
+
+ void Initialize()
+ {
+ _missedPortals = 0;
+ _under25PercentTalkDone = false;
+ _over75PercentTalkDone = false;
+ _justDied = false;
+ _done = false;
}
void InitializeAI() override
@@ -305,11 +316,7 @@ class boss_valithria_dreamwalker : public CreatureScript
// Glyph of Dispel Magic - not a percent heal by effect, its cast with custom basepoints
me->ApplySpellImmune(0, IMMUNITY_ID, 56131, true);
_instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
- _missedPortals = 0;
- _under25PercentTalkDone = false;
- _over75PercentTalkDone = false;
- _justDied = false;
- _done = false;
+ Initialize();
}
void AttackStart(Unit* /*target*/) override
@@ -680,6 +687,12 @@ class npc_risen_archmage : public CreatureScript
npc_risen_archmageAI(Creature* creature) : ScriptedAI(creature),
_instance(creature->GetInstanceScript())
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _canCallEnterCombat = true;
}
bool CanAIAttack(Unit const* target) const override
@@ -693,7 +706,7 @@ class npc_risen_archmage : public CreatureScript
_events.ScheduleEvent(EVENT_FROSTBOLT_VOLLEY, urand(5000, 15000));
_events.ScheduleEvent(EVENT_MANA_VOID, urand(20000, 25000));
_events.ScheduleEvent(EVENT_COLUMN_OF_FROST, urand(10000, 20000));
- _canCallEnterCombat = true;
+ Initialize();
}
void EnterCombat(Unit* /*target*/) override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index e85ddc21dda..e403e37835c 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -385,17 +385,23 @@ class npc_highlord_tirion_fordring_lh : public CreatureScript
{
npc_highlord_tirion_fordringAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript())
{
+ Initialize();
}
- void Reset() override
+ void Initialize()
{
- _events.Reset();
_theLichKing = 0;
_bolvarFordragon = 0;
_factionNPC = 0;
_damnedKills = 0;
}
+ void Reset() override
+ {
+ _events.Reset();
+ Initialize();
+ }
+
// IMPORTANT NOTE: This is triggered from per-GUID scripts
// of The Damned SAI
void SetData(uint32 type, uint32 data) override
@@ -939,11 +945,18 @@ class npc_crok_scourgebane : public CreatureScript
_instance(creature->GetInstanceScript()), _respawnTime(creature->GetRespawnDelay()),
_corpseDelay(creature->GetCorpseDelay())
{
+ Initialize();
SetDespawnAtEnd(false);
SetDespawnAtFar(false);
_isEventActive = false;
_isEventDone = _instance->GetBossState(DATA_SISTER_SVALNA) == DONE;
+ _currentWPid = 0;
+ }
+
+ void Initialize()
+ {
_didUnderTenPercentText = false;
+ _wipeCheckTimer = 1000;
}
void Reset() override
@@ -952,8 +965,7 @@ class npc_crok_scourgebane : public CreatureScript
_events.ScheduleEvent(EVENT_SCOURGE_STRIKE, urand(7500, 12500));
_events.ScheduleEvent(EVENT_DEATH_STRIKE, urand(25000, 30000));
me->SetReactState(REACT_DEFENSIVE);
- _didUnderTenPercentText = false;
- _wipeCheckTimer = 1000;
+ Initialize();
}
void DoAction(int32 action) override
@@ -1647,12 +1659,18 @@ class npc_impaling_spear : public CreatureScript
{
npc_impaling_spearAI(Creature* creature) : CreatureAI(creature)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _vehicleCheckTimer = 500;
}
void Reset() override
{
me->SetReactState(REACT_PASSIVE);
- _vehicleCheckTimer = 500;
+ Initialize();
}
void UpdateAI(uint32 diff) override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
index fbd3a715fb8..5d2aa9ca02f 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
@@ -19,11 +19,9 @@
#define ICECROWN_CITADEL_H_
#include "SpellScript.h"
-#include "Map.h"
-#include "Creature.h"
-#include "SpellMgr.h"
#define ICCScriptName "instance_icecrown_citadel"
+#define DataHeader "IC"
uint32 const EncounterCount = 13;
uint32 const WeeklyNPCs = 9;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
index 469bfc1d310..af07375e14c 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
@@ -15,12 +15,12 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "InstanceScript.h"
+#include "Player.h"
#include "ScriptedGossip.h"
#include "ScriptMgr.h"
-#include "InstanceScript.h"
-#include "icecrown_citadel.h"
#include "Spell.h"
-#include "Player.h"
+#include "icecrown_citadel.h"
#define GOSSIP_SENDER_ICC_PORT 631
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index 86e4efc5db7..2e566915922 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -115,6 +115,7 @@ class instance_icecrown_citadel : public InstanceMapScript
{
instance_icecrown_citadel_InstanceMapScript(InstanceMap* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
TeamInInstance = 0;
@@ -173,6 +174,9 @@ class instance_icecrown_citadel : public InstanceMapScript
UpperSpireTeleporterActiveState = NOT_STARTED;
BloodQuickeningState = NOT_STARTED;
BloodQuickeningMinutes = 0;
+ FrozenBolvarGUID = 0;
+ PillarsChainedGUID = 0;
+ PillarsUnchainedGUID = 0;
}
// A function to help reduce the number of lines for teleporter management.
@@ -1320,64 +1324,32 @@ class instance_icecrown_citadel : public InstanceMapScript
}
}
- std::string GetSaveData() override
+ void WriteSaveDataMore(std::ostringstream& data) override
{
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "I C " << GetBossSaveData() << HeroicAttempts << ' '
- << ColdflameJetsState << ' ' << BloodQuickeningState << ' ' << BloodQuickeningMinutes << ' ' << UpperSpireTeleporterActiveState;
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
+ data << HeroicAttempts << ' '
+ << ColdflameJetsState << ' '
+ << BloodQuickeningState << ' '
+ << BloodQuickeningMinutes << ' '
+ << UpperSpireTeleporterActiveState;
}
- void Load(const char* str) override
+ void ReadSaveDataMore(std::istringstream& data) override
{
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
+ data >> HeroicAttempts;
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'I' && dataHead2 == 'C')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
-
- loadStream >> HeroicAttempts;
-
- uint32 temp = 0;
- loadStream >> temp;
- if (temp == IN_PROGRESS)
- ColdflameJetsState = NOT_STARTED;
- else
- ColdflameJetsState = temp ? DONE : NOT_STARTED;
-
- loadStream >> temp;
- BloodQuickeningState = temp ? DONE : NOT_STARTED; // DONE means finished (not success/fail)
- loadStream >> BloodQuickeningMinutes;
-
- loadStream >> temp;
- UpperSpireTeleporterActiveState = temp ? DONE : NOT_STARTED;
- }
+ uint32 temp = 0;
+ data >> temp;
+ if (temp == IN_PROGRESS)
+ ColdflameJetsState = NOT_STARTED;
else
- OUT_LOAD_INST_DATA_FAIL;
+ ColdflameJetsState = temp ? DONE : NOT_STARTED;
+
+ data >> temp;
+ BloodQuickeningState = temp ? DONE : NOT_STARTED; // DONE means finished (not success/fail)
+ data >> BloodQuickeningMinutes;
- OUT_LOAD_INST_DATA_COMPLETE;
+ data >> temp;
+ UpperSpireTeleporterActiveState = temp ? DONE : NOT_STARTED;
}
void Update(uint32 diff) override
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
index 676e4134f11..35402771494 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
@@ -62,7 +62,15 @@ public:
struct boss_anubrekhanAI : public BossAI
{
- boss_anubrekhanAI(Creature* creature) : BossAI(creature, BOSS_ANUBREKHAN) { }
+ boss_anubrekhanAI(Creature* creature) : BossAI(creature, BOSS_ANUBREKHAN)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ hasTaunted = false;
+ }
bool hasTaunted;
@@ -70,7 +78,7 @@ public:
{
_Reset();
- hasTaunted = false;
+ Initialize();
if (GetDifficulty() == RAID_DIFFICULTY_25MAN_NORMAL)
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
index e2ff68ab851..a8de1418cc4 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
@@ -96,12 +96,25 @@ public:
{
boss_four_horsemenAI(Creature* creature) : BossAI(creature, BOSS_HORSEMEN)
{
+ Initialize();
id = Horsemen(0);
for (uint8 i = 0; i < 4; ++i)
if (me->GetEntry() == NPC_HORSEMEN[i])
id = Horsemen(i);
caster = (id == HORSEMEN_LADY || id == HORSEMEN_SIR);
+ }
+
+ void Initialize()
+ {
+ uiEventStarterGUID = 0;
+ nextWP = 0;
+ punishTimer = 2000;
+ nextMovementStarted = false;
+ movementCompleted = false;
+ movementStarted = false;
+ encounterActionAttack = false;
encounterActionReset = false;
+ doDelayPunish = false;
}
Horsemen id;
@@ -124,15 +137,7 @@ public:
instance->SetData(DATA_HORSEMEN0 + id, NOT_STARTED);
me->SetReactState(REACT_AGGRESSIVE);
- uiEventStarterGUID = 0;
- nextWP = 0;
- punishTimer = 2000;
- nextMovementStarted = false;
- movementCompleted = false;
- movementStarted = false;
- encounterActionAttack = false;
- encounterActionReset = false;
- doDelayPunish = false;
+ Initialize();
_Reset();
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 648fc3c87d2..de9d85db70b 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -162,7 +162,18 @@ class boss_gothik : public CreatureScript
struct boss_gothikAI : public BossAI
{
- boss_gothikAI(Creature* creature) : BossAI(creature, BOSS_GOTHIK) { }
+ boss_gothikAI(Creature* creature) : BossAI(creature, BOSS_GOTHIK)
+ {
+ Initialize();
+ waveCount = 0;
+ }
+
+ void Initialize()
+ {
+ mergedSides = false;
+ phaseTwo = false;
+ thirtyPercentReached = false;
+ }
uint32 waveCount;
typedef std::vector<Creature*> TriggerVct;
@@ -182,9 +193,7 @@ class boss_gothik : public CreatureScript
me->SetReactState(REACT_PASSIVE);
instance->SetData(DATA_GOTHIK_GATE, GO_STATE_ACTIVE);
_Reset();
- mergedSides = false;
- phaseTwo = false;
- thirtyPercentReached = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
index 648da29ca66..2d0e8a6d2b2 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
@@ -66,7 +66,13 @@ public:
struct boss_heiganAI : public BossAI
{
- boss_heiganAI(Creature* creature) : BossAI(creature, BOSS_HEIGAN) { }
+ boss_heiganAI(Creature* creature) : BossAI(creature, BOSS_HEIGAN)
+ {
+ eruptSection = 0;
+ eruptDirection = false;
+ safetyDance = false;
+ phase = PHASE_FIGHT;
+ }
uint32 eruptSection;
bool eruptDirection;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
index f010192f6f1..80bf7e39ad3 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
@@ -263,9 +263,20 @@ public:
{
boss_kelthuzadAI(Creature* creature) : BossAI(creature, BOSS_KELTHUZAD), spawns(creature)
{
+ Initialize();
uiFaction = me->getFaction();
}
+ void Initialize()
+ {
+ nGuardiansOfIcecrownCount = 0;
+ uiGuardiansOfIcecrownTimer = 5000; // 5 seconds for summoning each Guardian of Icecrown in phase 3
+
+ Phase = 0;
+ nAbomination = 0;
+ nWeaver = 0;
+ }
+
uint32 Phase;
uint32 uiGuardiansOfIcecrownTimer;
uint32 uiFaction;
@@ -315,12 +326,7 @@ public:
portal->ResetDoorOrButton();
}
- nGuardiansOfIcecrownCount = 0;
- uiGuardiansOfIcecrownTimer = 5000; // 5 seconds for summoning each Guardian of Icecrown in phase 3
-
- Phase = 0;
- nAbomination = 0;
- nWeaver = 0;
+ Initialize();
}
void KilledUnit(Unit* /*victim*/) override
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
index 9987802a165..736941949d1 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
@@ -60,15 +60,21 @@ class boss_loatheb : public CreatureScript
{
boss_loathebAI(Creature* creature) : BossAI(creature, BOSS_LOATHEB)
{
+ Initialize();
}
- void Reset() override
+ void Initialize()
{
- _Reset();
_doomCounter = 0;
_sporeLoserData = true;
}
+ void Reset() override
+ {
+ _Reset();
+ Initialize();
+ }
+
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
index e8ed181da5a..173b6e2d094 100644
--- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
@@ -107,6 +107,7 @@ class instance_naxxramas : public InstanceMapScript
{
instance_naxxramas_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
LoadMinionData(minionData);
@@ -427,50 +428,6 @@ class instance_naxxramas : public InstanceMapScript
return false;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "N X " << GetBossSaveData() << playerDied;
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* strIn) override
- {
- if (!strIn)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(strIn);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(strIn);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'N' && dataHead2 == 'X')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
-
- loadStream >> playerDied;
- }
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
/* The Arachnid Quarter */
// Grand Widow Faerlina
diff --git a/src/server/scripts/Northrend/Naxxramas/naxxramas.h b/src/server/scripts/Northrend/Naxxramas/naxxramas.h
index b6e87504c77..8325271a403 100644
--- a/src/server/scripts/Northrend/Naxxramas/naxxramas.h
+++ b/src/server/scripts/Northrend/Naxxramas/naxxramas.h
@@ -18,6 +18,8 @@
#ifndef DEF_NAXXRAMAS_H
#define DEF_NAXXRAMAS_H
+#define DataHeader "NAX"
+
uint32 const EncounterCount = 15;
enum Encounter
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/eye_of_eternity.h b/src/server/scripts/Northrend/Nexus/EyeOfEternity/eye_of_eternity.h
index f94acf5d772..ef7dd743515 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/eye_of_eternity.h
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/eye_of_eternity.h
@@ -18,6 +18,8 @@
#ifndef DEF_EYE_OF_ETERNITY_H
#define DEF_EYE_OF_ETERNITY_H
+#define DataHeader "EOE"
+
enum InstanceData
{
DATA_MALYGOS_EVENT,
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
index 4fa80c7bac2..a4cb6e5be5b 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
@@ -35,6 +35,7 @@ public:
{
instance_eye_of_eternity_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTER);
vortexTriggers.clear();
@@ -277,65 +278,23 @@ public:
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "E E " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'E' && dataHead2 == 'E')
- {
- for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
-
- } else OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
- private:
- std::list<uint64> vortexTriggers;
- std::list<uint64> portalTriggers;
- uint64 malygosGUID;
- uint64 irisGUID;
- uint64 lastPortalGUID;
- uint64 platformGUID;
- uint64 exitPortalGUID;
- uint64 heartOfMagicGUID;
- uint64 alexstraszaBunnyGUID;
- uint64 giftBoxBunnyGUID;
- Position focusingIrisPosition;
- Position exitPortalPosition;
+ private:
+ std::list<uint64> vortexTriggers;
+ std::list<uint64> portalTriggers;
+ uint64 malygosGUID;
+ uint64 irisGUID;
+ uint64 lastPortalGUID;
+ uint64 platformGUID;
+ uint64 exitPortalGUID;
+ uint64 heartOfMagicGUID;
+ uint64 alexstraszaBunnyGUID;
+ uint64 giftBoxBunnyGUID;
+ Position focusingIrisPosition;
+ Position exitPortalPosition;
};
};
void AddSC_instance_eye_of_eternity()
{
- new instance_eye_of_eternity();
+ new instance_eye_of_eternity();
}
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
index f2118932d61..663f4bca6ac 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
@@ -55,6 +55,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
Anomalus = 0;
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/nexus.h b/src/server/scripts/Northrend/Nexus/Nexus/nexus.h
index e9be1a32c2a..c9f5d44c932 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/nexus.h
+++ b/src/server/scripts/Northrend/Nexus/Nexus/nexus.h
@@ -18,6 +18,8 @@
#ifndef DEF_NEXUS_H
#define DEF_NEXUS_H
+#define DataHeader "NEX"
+
enum DataTypes
{
DATA_MAGUS_TELESTRA_EVENT,
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
index d78a07f5c2b..83093234093 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
@@ -40,6 +40,7 @@ class instance_oculus : public InstanceMapScript
{
instance_oculus_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -286,49 +287,6 @@ class instance_oculus : public InstanceMapScript
gwhelp->SetPhaseMask(1, true);
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "T O " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'T' && dataHead2 == 'O')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 DrakosGUID;
uint64 VarosGUID;
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.h b/src/server/scripts/Northrend/Nexus/Oculus/oculus.h
index f54b1c067f0..268cdb54e3e 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.h
+++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.h
@@ -19,6 +19,7 @@
#define OCULUS_H_
#define OculusScriptName "instance_oculus"
+#define DataHeader "OC"
uint32 const EncounterCount = 4;
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/halls_of_lightning.h b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/halls_of_lightning.h
index cef99ce7abd..5dd2e48898b 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/halls_of_lightning.h
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/halls_of_lightning.h
@@ -19,6 +19,7 @@
#define HALLS_OF_LIGHTNING_H_
#define HoLScriptName "instance_halls_of_lightning"
+#define DataHeader "HOL"
uint32 const EncounterCount = 4;
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp
index 2f5273f0296..0f44f935d24 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp
@@ -36,6 +36,7 @@ class instance_halls_of_lightning : public InstanceMapScript
{
instance_halls_of_lightning_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -136,49 +137,6 @@ class instance_halls_of_lightning : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "H L " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'H' && dataHead2 == 'L')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 GeneralBjarngrimGUID;
uint64 VolkhanGUID;
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.h b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.h
index 3690557d91b..253fbc43a5d 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.h
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.h
@@ -19,6 +19,7 @@
#define HALLS_OF_STONE_H_
#define HoSScriptName "instance_halls_of_stone"
+#define DataHeader "HOS"
uint32 const EncounterCount = 4;
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
index 0c9492c87c0..b7aa606aeeb 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
@@ -15,11 +15,11 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ScriptMgr.h"
#include "InstanceScript.h"
+#include "Player.h"
+#include "ScriptMgr.h"
#include "WorldSession.h"
#include "halls_of_stone.h"
-#include <Player.h>
DoorData const doorData[] =
{
@@ -36,6 +36,7 @@ class instance_halls_of_stone : public InstanceMapScript
{
instance_halls_of_stone_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -203,49 +204,6 @@ class instance_halls_of_stone : public InstanceMapScript
return true;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "H S " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'H' && dataHead2 == 'S')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 KrystallusGUID;
uint64 MaidenOfGriefGUID;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index a074ce28181..56f5c19c574 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -123,6 +123,7 @@ class instance_ulduar : public InstanceMapScript
void Initialize() override
{
+ SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTER);
LoadDoorData(doorData);
LoadMinionData(minionData);
@@ -1033,84 +1034,50 @@ class instance_ulduar : public InstanceMapScript
return false;
}
- std::string GetSaveData() override
+ void WriteSaveDataMore(std::ostringstream& data) override
{
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "U U " << GetBossSaveData() << GetData(DATA_COLOSSUS) << ' ' << _algalonTimer << ' ' << (_algalonSummoned ? 1 : 0);
+ data << GetData(DATA_COLOSSUS) << ' ' << _algalonTimer << ' ' << uint32(_algalonSummoned ? 1 : 0);
for (uint8 i = 0; i < 4; ++i)
- saveStream << ' ' << (KeeperGUIDs[i] ? 1 : 0);
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
+ data << ' ' << uint32(KeeperGUIDs[i] ? 1 : 0);
}
- void Load(char const* strIn) override
+ void ReadSaveDataMore(std::istringstream& data) override
{
- if (!strIn)
+ uint32 tempState;
+ data >> tempState;
+ if (tempState == IN_PROGRESS || tempState > SPECIAL)
+ tempState = NOT_STARTED;
+ SetData(DATA_COLOSSUS, tempState);
+
+ data >> _algalonTimer;
+ data >> tempState;
+ _algalonSummoned = tempState != 0;
+ if (_algalonSummoned && GetBossState(BOSS_ALGALON) != DONE)
{
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(strIn);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(strIn);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'U' && dataHead2 == 'U')
- {
- for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
-
- uint32 tempState;
- loadStream >> tempState;
- if (tempState == IN_PROGRESS || tempState > SPECIAL)
- tempState = NOT_STARTED;
- SetData(DATA_COLOSSUS, tempState);
-
- loadStream >> _algalonTimer;
- loadStream >> tempState;
- _algalonSummoned = tempState != 0;
- if (_algalonSummoned && GetBossState(BOSS_ALGALON) != DONE)
- {
- _summonAlgalon = true;
- if (_algalonTimer && _algalonTimer <= 60)
- {
- _events.ScheduleEvent(EVENT_UPDATE_ALGALON_TIMER, 60000);
- DoUpdateWorldState(WORLD_STATE_ALGALON_TIMER_ENABLED, 1);
- DoUpdateWorldState(WORLD_STATE_ALGALON_DESPAWN_TIMER, _algalonTimer);
- }
- }
-
- for (uint8 i = 0; i < 4; ++i)
+ _summonAlgalon = true;
+ if (_algalonTimer && _algalonTimer <= 60)
{
- loadStream >> tempState;
- _summonYSKeeper[i] = tempState != 0;
+ _events.ScheduleEvent(EVENT_UPDATE_ALGALON_TIMER, 60000);
+ DoUpdateWorldState(WORLD_STATE_ALGALON_TIMER_ENABLED, 1);
+ DoUpdateWorldState(WORLD_STATE_ALGALON_DESPAWN_TIMER, _algalonTimer);
}
+ }
- if (GetBossState(BOSS_FREYA) == DONE && !_summonYSKeeper[0])
- _summonObservationRingKeeper[0] = true;
- if (GetBossState(BOSS_HODIR) == DONE && !_summonYSKeeper[1])
- _summonObservationRingKeeper[1] = true;
- if (GetBossState(BOSS_THORIM) == DONE && !_summonYSKeeper[2])
- _summonObservationRingKeeper[2] = true;
- if (GetBossState(BOSS_MIMIRON) == DONE && !_summonYSKeeper[3])
- _summonObservationRingKeeper[3] = true;
+ for (uint8 i = 0; i < 4; ++i)
+ {
+ data >> tempState;
+ _summonYSKeeper[i] = tempState != 0;
}
- OUT_LOAD_INST_DATA_COMPLETE;
+ if (GetBossState(BOSS_FREYA) == DONE && !_summonYSKeeper[0])
+ _summonObservationRingKeeper[0] = true;
+ if (GetBossState(BOSS_HODIR) == DONE && !_summonYSKeeper[1])
+ _summonObservationRingKeeper[1] = true;
+ if (GetBossState(BOSS_THORIM) == DONE && !_summonYSKeeper[2])
+ _summonObservationRingKeeper[2] = true;
+ if (GetBossState(BOSS_MIMIRON) == DONE && !_summonYSKeeper[3])
+ _summonObservationRingKeeper[3] = true;
}
void Update(uint32 diff) override
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
index 5dfc2b54f6e..9b95d7cf7b8 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
@@ -19,6 +19,7 @@
#define DEF_ULDUAR_H
#define UlduarScriptName "instance_ulduar"
+#define DataHeader "UU"
extern Position const ObservationRingKeepersPos[4];
extern Position const YSKeepersPos[4];
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
index 69229be1771..78df568d144 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
@@ -41,6 +41,7 @@ class instance_utgarde_keep : public InstanceMapScript
{
instance_utgarde_keep_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
LoadMinionData(minionData);
@@ -191,53 +192,16 @@ class instance_utgarde_keep : public InstanceMapScript
}
}
- std::string GetSaveData() override
+ void WriteSaveDataMore(std::ostringstream& data) override
{
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "U K " << GetBossSaveData();
-
for (uint8 i = 0; i < 3; ++i)
- saveStream << Forges[i].Event << ' ';
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
+ data << Forges[i].Event << ' ';
}
- void Load(char const* str) override
+ void ReadSaveDataMore(std::istringstream& data) override
{
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'U' && dataHead2 == 'K')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
-
- for (uint8 i = 0; i < 3; ++i)
- loadStream >> Forges[i].Event;
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
+ for (uint8 i = 0; i < 3; ++i)
+ data >> Forges[i].Event;
}
protected:
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h
index 240cb8c65db..751239755cf 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h
@@ -19,6 +19,7 @@
#define UTGARDE_KEEP_H_
#define UKScriptName "instance_utgarde_keep"
+#define DataHeader "UK"
uint32 const EncounterCount = 3;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
index 6eea38c32a3..1bc3f20c3fe 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
@@ -35,6 +35,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
{
instance_utgarde_pinnacle_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -181,49 +182,6 @@ class instance_utgarde_pinnacle : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "U P " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'U' && dataHead2 == 'P')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 SvalaSorrowgraveGUID;
uint64 GortokPalehoofGUID;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h
index 99acef0b2b3..cccfcede80b 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h
@@ -19,6 +19,7 @@
#define UTGARDE_PINNACLE_H_
#define UPScriptName "instance_utgarde_pinnacle"
+#define DataHeader "UP"
uint32 const EncounterCount = 4;
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp
index 1f5b16f1a46..959c8b7724d 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp
@@ -35,6 +35,7 @@ class instance_vault_of_archavon : public InstanceMapScript
{
instance_vault_of_archavon_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
EmalonGUID = 0;
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/vault_of_archavon.h b/src/server/scripts/Northrend/VaultOfArchavon/vault_of_archavon.h
index 4a8d52ac306..d321a7b8347 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/vault_of_archavon.h
+++ b/src/server/scripts/Northrend/VaultOfArchavon/vault_of_archavon.h
@@ -18,6 +18,8 @@
#ifndef DEF_ARCHAVON_H
#define DEF_ARCHAVON_H
+#define DataHeader "VA"
+
uint32 const EncounterCount = 4;
enum Data
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index c799a2f1813..9c81e664fd4 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -170,6 +170,7 @@ public:
void Initialize() override
{
+ SetHeaders(DataHeader);
uiMoragg = 0;
uiErekem = 0;
uiIchoron = 0;
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.h b/src/server/scripts/Northrend/VioletHold/violet_hold.h
index 96691f5e662..205fbec2487 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.h
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.h
@@ -18,6 +18,8 @@
#ifndef DEF_VIOLET_HOLD_H
#define DEF_VIOLET_HOLD_H
+#define DataHeader "VIO"
+
enum Data
{
DATA_1ST_BOSS_EVENT,
diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/auchenai_crypts.h b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/auchenai_crypts.h
index d741044eea7..c07c8365c2f 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/auchenai_crypts.h
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/auchenai_crypts.h
@@ -19,6 +19,7 @@
#define AUCHENAI_CRYPTS_H_
#define ACScriptName "instance_auchenai_crypts"
+#define DataHeader "AC"
uint32 const EncounterCount = 2;
diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp
index 4b8a764fa03..33c9aab0cf9 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp
@@ -28,6 +28,7 @@ class instance_auchenai_crypts : public InstanceMapScript
{
instance_auchenai_crypts_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
}
};
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
index f7f901a9349..8cb7630e60e 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.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,27 +15,28 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* ScriptData
-SDName: Boss_Pandemonius
-SD%Complete: 75
-SDComment: Not known how void blast is done (amount of rapid cast seems to be related to players in party). All mobs remaining in surrounding area should aggro when engaged.
-SDCategory: Auchindoun, Mana Tombs
-EndScriptData */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "mana_tombs.h"
-enum Pandemonius
+enum Texts
{
SAY_AGGRO = 0,
SAY_KILL = 1,
SAY_DEATH = 2,
- EMOTE_DARK_SHELL = 3,
+ EMOTE_DARK_SHELL = 3
+};
+
+enum Spells
+{
+ SPELL_VOID_BLAST = 32325,
+ SPELL_DARK_SHELL = 32358
+};
- SPELL_VOID_BLAST = 32325,
- H_SPELL_VOID_BLAST = 38760,
- SPELL_DARK_SHELL = 32358,
- H_SPELL_DARK_SHELL = 38759
+enum Events
+{
+ EVENT_VOID_BLAST = 1,
+ EVENT_DARK_SHELL
};
class boss_pandemonius : public CreatureScript
@@ -44,26 +44,17 @@ class boss_pandemonius : public CreatureScript
public:
boss_pandemonius() : CreatureScript("boss_pandemonius") { }
- CreatureAI* GetAI(Creature* creature) const override
+ struct boss_pandemoniusAI : public BossAI
{
- return new boss_pandemoniusAI(creature);
- }
-
- struct boss_pandemoniusAI : public ScriptedAI
- {
- boss_pandemoniusAI(Creature* creature) : ScriptedAI(creature)
+ boss_pandemoniusAI(Creature* creature) : BossAI(creature, DATA_PANDEMONIUS)
{
+ VoidBlastCounter = 0;
}
- uint32 VoidBlast_Timer;
- uint32 DarkShell_Timer;
- uint32 VoidBlast_Counter;
-
void Reset() override
{
- VoidBlast_Timer = 8000 + rand32() % 15000;
- DarkShell_Timer = 20000;
- VoidBlast_Counter = 0;
+ _Reset();
+ VoidBlastCounter = 0;
}
void JustDied(Unit* /*killer*/) override
@@ -78,48 +69,54 @@ public:
void EnterCombat(Unit* /*who*/) override
{
+ _EnterCombat();
Talk(SAY_AGGRO);
+ events.ScheduleEvent(EVENT_DARK_SHELL, 20000);
+ events.ScheduleEvent(EVENT_VOID_BLAST, urand(8000, 23000));
}
- void UpdateAI(uint32 diff) override
+ void ExecuteEvent(uint32 eventId) override
{
- if (!UpdateVictim())
- return;
-
- if (VoidBlast_Timer <= diff)
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- {
- DoCast(target, SPELL_VOID_BLAST);
- VoidBlast_Timer = 500;
- ++VoidBlast_Counter;
- }
-
- if (VoidBlast_Counter == 5)
- {
- VoidBlast_Timer = 15000 + rand32() % 10000;
- VoidBlast_Counter = 0;
- }
- } else VoidBlast_Timer -= diff;
-
- if (!VoidBlast_Counter)
+ switch (eventId)
{
- if (DarkShell_Timer <= diff)
- {
+ case EVENT_VOID_BLAST:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ {
+ DoCast(target, SPELL_VOID_BLAST);
+ ++VoidBlastCounter;
+ }
+
+ if (VoidBlastCounter == 5)
+ {
+ VoidBlastCounter = 0;
+ events.ScheduleEvent(EVENT_VOID_BLAST, urand(15000, 25000));
+ }
+ else
+ {
+ events.ScheduleEvent(EVENT_VOID_BLAST, 500);
+ events.DelayEvents(EVENT_DARK_SHELL, 500);
+ }
+ break;
+ case EVENT_DARK_SHELL:
if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
-
Talk(EMOTE_DARK_SHELL);
-
DoCast(me, SPELL_DARK_SHELL);
- DarkShell_Timer = 20000;
- } else DarkShell_Timer -= diff;
+ events.ScheduleEvent(EVENT_DARK_SHELL, 20000);
+ break;
+ default:
+ break;
}
-
- DoMeleeAttackIfReady();
}
+
+ private:
+ uint32 VoidBlastCounter;
};
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetManaTombsAI<boss_pandemoniusAI>(creature);
+ }
};
void AddSC_boss_pandemonius()
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp
index 48bea45a95b..4629aadb2bd 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp
@@ -28,6 +28,7 @@ class instance_mana_tombs : public InstanceMapScript
{
instance_mana_tombs_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
}
};
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/mana_tombs.h b/src/server/scripts/Outland/Auchindoun/ManaTombs/mana_tombs.h
index 89eefa19d6a..7dd9e96a75e 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/mana_tombs.h
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/mana_tombs.h
@@ -19,6 +19,7 @@
#define MANA_TOMBS_H_
#define MTScriptName "instance_mana_tombs"
+#define DataHeader "MT"
uint32 const EncounterCount = 4;
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
index 308e5e80105..53fbf8f0cf7 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
@@ -34,6 +34,7 @@ class instance_sethekk_halls : public InstanceMapScript
{
instance_sethekk_halls_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
}
@@ -60,49 +61,6 @@ class instance_sethekk_halls : public InstanceMapScript
if (go->GetEntry() == GO_IKISS_DOOR)
AddDoor(go, false);
}
-
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "S H " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'S' && dataHead2 == 'H')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/sethekk_halls.h b/src/server/scripts/Outland/Auchindoun/SethekkHalls/sethekk_halls.h
index aeca1b88fcd..4b6bfab46cb 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/sethekk_halls.h
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/sethekk_halls.h
@@ -19,6 +19,7 @@
#define SETHEKK_HALLS_H_
#define SHScriptName "instance_sethekk_halls"
+#define DataHeader "SH"
uint32 const EncounterCount = 3;
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
index 4df80a0e15b..9bd985130a9 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
@@ -36,6 +36,7 @@ class instance_shadow_labyrinth : public InstanceMapScript
{
instance_shadow_labyrinth_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -134,49 +135,6 @@ class instance_shadow_labyrinth : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "S L " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'S' && dataHead2 == 'L')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 AmbassadorHellmawGUID;
uint64 GrandmasterVorpilGUID;
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/shadow_labyrinth.h b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/shadow_labyrinth.h
index d7ef52cc7a7..1fa70298d41 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/shadow_labyrinth.h
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/shadow_labyrinth.h
@@ -19,6 +19,7 @@
#define SHADOW_LABYRINTH_H_
#define SLScriptName "instance_shadow_labyrinth"
+#define DataHeader "SL"
uint32 const EncounterCount = 4;
diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.h b/src/server/scripts/Outland/BlackTemple/black_temple.h
index c03c8b97d20..bbad9ff7651 100644
--- a/src/server/scripts/Outland/BlackTemple/black_temple.h
+++ b/src/server/scripts/Outland/BlackTemple/black_temple.h
@@ -19,6 +19,7 @@
#define BLACK_TEMPLE_H_
#define BTScriptName "instance_black_temple"
+#define DataHeader "BT"
uint32 const EncounterCount = 9;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
index 6c3e820e10f..60162188f7e 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
@@ -204,7 +204,7 @@ public:
default:
break;
}
-
+
++BeamCount;
uint32 Beam = CurrentBeam;
if (BeamCount > 3)
@@ -265,7 +265,7 @@ public:
break;
}
}
-
+
private:
uint64 TargetGUID[3];
uint32 BeamCount;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
index 6425675219f..c998bfed2dc 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.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,13 +15,6 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* ScriptData
-SDName: Boss_Warlord_Najentus
-SD%Complete: 95
-SDComment:
-SDCategory: Black Temple
-EndScriptData */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "black_temple.h"
@@ -187,7 +179,7 @@ public:
break;
}
}
-
+
private:
uint64 SpineTargetGUID;
};
diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
index 5b91367a9c9..55ad45597ea 100644
--- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
@@ -44,6 +44,7 @@ class instance_black_temple : public InstanceMapScript
{
instance_black_temple_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -202,49 +203,6 @@ class instance_black_temple : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "B T " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'B' && dataHead2 == 'T')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 NajentusGUID;
uint64 SupremusGUID;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
index bc557d97ef5..a3577f40d68 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
@@ -87,6 +87,7 @@ class instance_serpent_shrine : public InstanceMapScript
{
instance_serpentshrine_cavern_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
}
void Initialize() override
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h
index f7f3bc9c24b..660ec6bfb3d 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h
@@ -19,6 +19,8 @@
#ifndef DEF_SERPENT_SHRINE_H
#define DEF_SERPENT_SHRINE_H
+#define DataHeader "SS"
+
enum WaterEventState
{
WATERSTATE_NONE = 0,
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
index 19e8c5187ba..40bc8dd69d7 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
@@ -55,6 +55,7 @@ class instance_steam_vault : public InstanceMapScript
{
instance_steam_vault_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
ThespiaGUID = 0;
@@ -156,56 +157,13 @@ class instance_steam_vault : public InstanceMapScript
return true;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "S V " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'S' && dataHead2 == 'V')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
- protected:
- uint64 ThespiaGUID;
- uint64 MekgineerGUID;
- uint64 KalithreshGUID;
+ protected:
+ uint64 ThespiaGUID;
+ uint64 MekgineerGUID;
+ uint64 KalithreshGUID;
- uint64 MainChambersDoorGUID;
- uint8 DistillerState;
+ uint64 MainChambersDoorGUID;
+ uint8 DistillerState;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/steam_vault.h b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/steam_vault.h
index e1761c80769..58f71b047ef 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/steam_vault.h
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/steam_vault.h
@@ -19,6 +19,7 @@
#define DEF_STEAM_VAULT_H
#define SteamVaultScriptName "instance_steam_vault"
+#define DataHeader "SV"
uint32 const EncounterCount = 3;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/the_slave_pens.h b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/the_slave_pens.h
index 101268727b0..3130737eed5 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/the_slave_pens.h
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/the_slave_pens.h
@@ -21,6 +21,7 @@
uint32 const EncounterCount = 3;
#define SPScriptName "instance_the_slave_pens"
+#define DataHeader "SP"
enum DataTypes
{
diff --git a/src/server/scripts/Outland/GruulsLair/gruuls_lair.h b/src/server/scripts/Outland/GruulsLair/gruuls_lair.h
index 81644a01567..288601c4584 100644
--- a/src/server/scripts/Outland/GruulsLair/gruuls_lair.h
+++ b/src/server/scripts/Outland/GruulsLair/gruuls_lair.h
@@ -19,6 +19,7 @@
#define GRUULS_LAIR_H_
#define GLScriptName "instance_gruuls_lair"
+#define DataHeader "GL"
uint32 const EncounterCount = 2;
diff --git a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
index ae3971a943e..3337ce47fd6 100644
--- a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
+++ b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
@@ -44,6 +44,7 @@ class instance_gruuls_lair : public InstanceMapScript
{
instance_gruuls_lair_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
LoadMinionData(minionData);
@@ -123,49 +124,6 @@ class instance_gruuls_lair : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "G L " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'G' && dataHead2 == 'L')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 MaulgarGUID;
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h
index 51c5a5221ea..8bcfdf5558f 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h
@@ -19,6 +19,8 @@
#define BLOOD_FURNACE_H_
#define BFScriptName "instance_blood_furnace"
+#define DataHeader "BF"
+
uint32 const EncounterCount = 3;
enum DataTypes
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
index 880efd0cfaf..bd16fe9edd2 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.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,13 +15,6 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* ScriptData
-SDName: Boss_Broggok
-SD%Complete: 70
-SDComment: pre-event not made
-SDCategory: Hellfire Citadel, Blood Furnace
-EndScriptData */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
index 4f1200be37b..d88594d9c1e 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
@@ -40,6 +40,7 @@ class instance_blood_furnace : public InstanceMapScript
{
instance_blood_furnace_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -322,49 +323,6 @@ class instance_blood_furnace : public InstanceMapScript
}
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "B F " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'B' && dataHead2 == 'F')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 TheMakerGUID;
uint64 BroggokGUID;
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/hellfire_ramparts.h b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/hellfire_ramparts.h
index 61252d16527..df34ab5fafb 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/hellfire_ramparts.h
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/hellfire_ramparts.h
@@ -19,6 +19,8 @@
#ifndef DEF_RAMPARTS_H
#define DEF_RAMPARTS_H
+#define DataHeader "HR"
+
uint32 const EncounterCount = 4;
enum DataTypes
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
index 9a0e7c22308..c8ffc7d495a 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
@@ -38,6 +38,7 @@ class instance_ramparts : public InstanceMapScript
void Initialize() override
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
felIronChestGUID = 0;
}
@@ -72,53 +73,9 @@ class instance_ramparts : public InstanceMapScript
return true;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "H R " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* strIn) override
- {
- if (!strIn)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(strIn);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(strIn);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'H' && dataHead2 == 'R')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
- protected:
- uint64 felIronChestGUID;
- bool spawned;
+ protected:
+ uint64 felIronChestGUID;
+ bool spawned;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
index 71d9203fcac..ae5ad009942 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
@@ -68,6 +68,7 @@ class instance_magtheridons_lair : public InstanceMapScript
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
MagtheridonGUID = 0;
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/magtheridons_lair.h b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/magtheridons_lair.h
index d3921a8709b..159962475ca 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/magtheridons_lair.h
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/magtheridons_lair.h
@@ -19,6 +19,8 @@
#ifndef DEF_MAGTHERIDONS_LAIR_H
#define DEF_MAGTHERIDONS_LAIR_H
+#define DataHeader "ML"
+
enum DataTypes
{
DATA_MAGTHERIDON_EVENT = 1,
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
index a220f26e18b..8ee63ff03a2 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
@@ -43,6 +43,7 @@ class instance_shattered_halls : public InstanceMapScript
void Initialize() override
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
nethekurseGUID = 0;
nethekurseDoor1GUID = 0;
@@ -114,53 +115,10 @@ class instance_shattered_halls : public InstanceMapScript
return 0;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "S H " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* strIn) override
- {
- if (!strIn)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(strIn);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(strIn);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'S' && dataHead2 == 'H')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
- protected:
- uint64 nethekurseGUID;
- uint64 nethekurseDoor1GUID;
- uint64 nethekurseDoor2GUID;
+ protected:
+ uint64 nethekurseGUID;
+ uint64 nethekurseDoor1GUID;
+ uint64 nethekurseDoor2GUID;
};
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h
index 10e944d5bc4..d0490676bdd 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h
@@ -19,6 +19,8 @@
#ifndef DEF_SHATTERED_H
#define DEF_SHATTERED_H
+#define DataHeader "SH"
+
uint32 const EncounterCount = 3;
enum DataTypes
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
index 0da16967a49..07cbd68f741 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
@@ -62,6 +62,7 @@ class instance_the_eye : public InstanceMapScript
void Initialize() override
{
+ SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
ThaladredTheDarkener = 0;
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h
index 52061a54591..6b1cd89abf6 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h
+++ b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h
@@ -19,6 +19,8 @@
#ifndef DEF_THE_EYE_H
#define DEF_THE_EYE_H
+#define DataHeader "TE"
+
enum DataTypes
{
DATA_ALAREVENT = 1,
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp
index 4dddee83459..c620a17f7b6 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp
@@ -37,6 +37,7 @@ class instance_mechanar : public InstanceMapScript
{
instance_mechanar_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
}
@@ -88,49 +89,6 @@ class instance_mechanar : public InstanceMapScript
return true;
}
-
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "M C " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(const char* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'M' && dataHead2 == 'C')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/mechanar.h b/src/server/scripts/Outland/TempestKeep/Mechanar/mechanar.h
index 34346e163c7..0d823dac325 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/mechanar.h
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/mechanar.h
@@ -18,6 +18,8 @@
#ifndef DEF_MECHANAR_H
#define DEF_MECHANAR_H
+#define DataHeader "MR"
+
uint32 const EncounterCount = 5;
enum DataTypes
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h
index 889a900653f..5b1695f4cfb 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h
@@ -19,6 +19,7 @@
#define ARCATRAZ_H
#define ArcatrazScriptName "instance_arcatraz"
+#define DataHeader "AZ"
uint32 const EncounterCount = 4;
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
index a6d0b348984..b092243637b 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
@@ -35,6 +35,7 @@ class instance_arcatraz : public InstanceMapScript
{
instance_arcatraz_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
@@ -191,49 +192,6 @@ class instance_arcatraz : public InstanceMapScript
return true;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "A Z " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'A' && dataHead2 == 'Z')
- {
- for (uint32 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 DalliahGUID;
uint64 SoccothratesGUID;
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp b/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp
index f8929f7e42a..eb46211fa59 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp
@@ -28,6 +28,7 @@ class instance_the_botanica : public InstanceMapScript
{
instance_the_botanica_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ SetHeaders(DataHeader);
CommanderSarannisGUID = 0;
HighBotanistFreywinnGUID = 0;
ThorngrinTheTenderGUID = 0;
@@ -100,50 +101,6 @@ class instance_the_botanica : public InstanceMapScript
return true;
}
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
-
- std::ostringstream saveStream;
- saveStream << "B O " << GetBossSaveData();
-
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
-
- void Load(char const* str) override
- {
- if (!str)
- {
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
-
- OUT_LOAD_INST_DATA(str);
-
- char dataHead1, dataHead2;
-
- std::istringstream loadStream(str);
- loadStream >> dataHead1 >> dataHead2;
-
- if (dataHead1 == 'B' && dataHead2 == 'O')
- {
- for (uint8 i = 0; i < EncounterCount; ++i)
- {
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
-
- SetBossState(i, EncounterState(tmpState));
- }
- }
- else
- OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
-
protected:
uint64 CommanderSarannisGUID;
uint64 HighBotanistFreywinnGUID;
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/the_botanica.h b/src/server/scripts/Outland/TempestKeep/botanica/the_botanica.h
index ed0d6b0c98a..68d869520ce 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/the_botanica.h
+++ b/src/server/scripts/Outland/TempestKeep/botanica/the_botanica.h
@@ -19,6 +19,8 @@
#ifndef DEF_THE_BOTANICA_H
#define DEF_THE_BOTANICA_H
+#define DataHeader "BC"
+
uint32 const EncounterCount = 5;
enum DataTypes
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 08999d3454b..4c80218b4ac 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -2415,7 +2415,7 @@ class spell_gen_oracle_wolvar_reputation : public SpellScriptLoader
// Set rep to baserep + basepoints (expecting spillover for oposite faction -> become hated)
// Not when player already has equal or higher rep with this faction
- if (player->GetReputationMgr().GetReputation(factionEntry) <= repChange)
+ if (player->GetReputationMgr().GetReputation(factionEntry) < repChange)
player->GetReputationMgr().SetReputation(factionEntry, repChange);
// EFFECT_INDEX_2 most likely update at war state, we already handle this in SetReputation
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index 23e373312cb..a00c9465a05 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -587,7 +587,7 @@ class boss_taerar : public CreatureScript
void Reset() override
{
me->RemoveAurasDueToSpell(SPELL_SHADE);
-
+
Initialize();
emerald_dragonAI::Reset();
diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp
index f5301fe5cac..1fdd314a9ed 100644
--- a/src/server/scripts/World/go_scripts.cpp
+++ b/src/server/scripts/World/go_scripts.cpp
@@ -36,7 +36,6 @@ go_jotunheim_cage
go_table_theka
go_soulwell
go_bashir_crystalforge
-go_ethereal_teleport_pad
go_soulwell
go_dragonflayer_cage
go_tadpole_cage
@@ -841,32 +840,6 @@ public:
};
/*######
-## go_ethereal_teleport_pad
-######*/
-
-enum EtherealTeleportPad
-{
- NPC_IMAGE_WIND_TRADER = 20518,
- ITEM_TELEPORTER_POWER_PACK = 28969,
-};
-
-class go_ethereal_teleport_pad : public GameObjectScript
-{
-public:
- go_ethereal_teleport_pad() : GameObjectScript("go_ethereal_teleport_pad") { }
-
- bool OnGossipHello(Player* player, GameObject* go) override
- {
- if (!player->HasItemCount(ITEM_TELEPORTER_POWER_PACK))
- return false;
-
- go->SummonCreature(NPC_IMAGE_WIND_TRADER, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ(), go->GetAngle(player), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
-
- return true;
- }
-};
-
-/*######
## go_soulwell
######*/
@@ -1263,7 +1236,6 @@ void AddSC_go_scripts()
new go_jotunheim_cage();
new go_table_theka();
new go_inconspicuous_landmark();
- new go_ethereal_teleport_pad();
new go_soulwell();
new go_tadpole_cage();
new go_dragonflayer_cage();
diff --git a/src/server/shared/Database/Field.h b/src/server/shared/Database/Field.h
index 5f427a5871b..2e888be5ed3 100644
--- a/src/server/shared/Database/Field.h
+++ b/src/server/shared/Database/Field.h
@@ -50,7 +50,7 @@ class Field
if (data.raw)
return *reinterpret_cast<uint8*>(data.value);
- return static_cast<uint8>(atol((char*)data.value));
+ return static_cast<uint8>(strtoul((char*)data.value, nullptr, 10));
}
int8 GetInt8() const
@@ -68,7 +68,7 @@ class Field
if (data.raw)
return *reinterpret_cast<int8*>(data.value);
- return static_cast<int8>(atol((char*)data.value));
+ return static_cast<int8>(strtol((char*)data.value, NULL, 10));
}
uint16 GetUInt16() const
@@ -86,7 +86,7 @@ class Field
if (data.raw)
return *reinterpret_cast<uint16*>(data.value);
- return static_cast<uint16>(atol((char*)data.value));
+ return static_cast<uint16>(strtoul((char*)data.value, nullptr, 10));
}
int16 GetInt16() const
@@ -104,7 +104,7 @@ class Field
if (data.raw)
return *reinterpret_cast<int16*>(data.value);
- return static_cast<int16>(atol((char*)data.value));
+ return static_cast<int16>(strtol((char*)data.value, NULL, 10));
}
uint32 GetUInt32() const
@@ -122,7 +122,7 @@ class Field
if (data.raw)
return *reinterpret_cast<uint32*>(data.value);
- return static_cast<uint32>(atol((char*)data.value));
+ return static_cast<uint32>(strtoul((char*)data.value, nullptr, 10));
}
int32 GetInt32() const
@@ -140,7 +140,7 @@ class Field
if (data.raw)
return *reinterpret_cast<int32*>(data.value);
- return static_cast<int32>(atol((char*)data.value));
+ return static_cast<int32>(strtol((char*)data.value, NULL, 10));
}
uint64 GetUInt64() const
@@ -158,7 +158,7 @@ class Field
if (data.raw)
return *reinterpret_cast<uint64*>(data.value);
- return static_cast<uint64>(atol((char*)data.value));
+ return static_cast<uint64>(strtoull((char*)data.value, nullptr, 10));
}
int64 GetInt64() const
@@ -176,7 +176,7 @@ class Field
if (data.raw)
return *reinterpret_cast<int64*>(data.value);
- return static_cast<int64>(strtol((char*)data.value, NULL, 10));
+ return static_cast<int64>(strtoll((char*)data.value, NULL, 10));
}
float GetFloat() const
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 14ac9a34cf5..c301d66de34 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -2400,6 +2400,20 @@ CharDelete.KeepDays = 30
###################################################################################################
# CUSTOM SERVER OPTIONS
#
+# AllowTrackBothResources
+# Description: Allows players to track herbs and minerals at the same time (if they have the skills)
+# Default: 0 (do not allow)
+# 1 (allow)
+#
+# Note: The following are client limitations and cannot be coded for:
+# * The minimap tracking icon will display whichever skill is activated second
+# * The minimap tracking list will only show a check mark next to the last skill activated (sometimes this
+# bugs out and doesn't switch the check mark. It has no effect on the actual tracking though).
+# * The minimap dots are yellow for both resources
+
+AllowTrackBothResources = 0
+
+#
# PlayerStart.AllReputation
# Description: Players will start with most of the high level reputations that are needed
# for items, mounts etc.
@@ -2598,11 +2612,7 @@ UI.ShowQuestLevelsInDialogs = 0
#
###################################################################################################
-###################################
-# Auction House Bot Configuration #
-###################################
-
-###################################################################################################################
+###################################################################################################
# AUCTION HOUSE BOT SETTINGS
#
# AuctionHouseBot.Update.Interval
@@ -2825,7 +2835,10 @@ AuctionHouseBot.Class.Key = 1
AuctionHouseBot.Class.Misc = 5
AuctionHouseBot.Class.Glyph = 3
-###################################################################################################################
+#
+###################################################################################################
+
+###################################################################################################
#
# AHBot ITEM FINE TUNING
# The following are usefull for limiting what character levels can
@@ -2897,9 +2910,9 @@ AuctionHouseBot.forceIncludeItems = ""
AuctionHouseBot.forceExcludeItems = ""
#
-###################################################################################################################
+###################################################################################################
-###################################################################################################################
+###################################################################################################
# AHBot Buyer config
#
# AuctionHouseBot.Buyer.Enabled
@@ -2947,7 +2960,7 @@ AuctionHouseBot.Buyer.Horde.Chance.Ratio = 3
AuctionHouseBot.Buyer.Neutral.Chance.Ratio = 3
#
-###################################################################################################################
+###################################################################################################
###################################################################################################
# LOGGING SYSTEM SETTINGS
@@ -3103,6 +3116,7 @@ Log.Async.Enable = 0
# 1 - (Enabled)
Allow.IP.Based.Action.Logging = 0
+
#
###################################################################################################
diff --git a/src/tools/vmap4_extractor/model.cpp b/src/tools/vmap4_extractor/model.cpp
index 1d4a9c060ea..d0a09271210 100644
--- a/src/tools/vmap4_extractor/model.cpp
+++ b/src/tools/vmap4_extractor/model.cpp
@@ -145,7 +145,7 @@ Vec3D fixCoordSystem2(Vec3D v)
}
ModelInstance::ModelInstance(MPQFile& f, char const* ModelInstName, uint32 mapID, uint32 tileX, uint32 tileY, FILE *pDirfile)
- : scale(0), flags(0)
+ : id(0), scale(0), flags(0)
{
float ff[3];
f.read(&id, 4);