aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Scripting/ScriptLoader.cpp1449
-rw-r--r--src/server/game/Scripting/ScriptLoader.h13
-rw-r--r--src/server/scripts/CMakeLists.txt34
-rw-r--r--src/server/scripts/Commands/CMakeLists.txt18
-rw-r--r--src/server/scripts/Commands/cs_script_loader.cpp106
-rw-r--r--src/server/scripts/Custom/CMakeLists.txt18
-rw-r--r--src/server/scripts/Custom/custom_script_loader.cpp25
-rw-r--r--src/server/scripts/EasternKingdoms/CMakeLists.txt212
-rw-r--r--src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp385
-rw-r--r--src/server/scripts/Events/CMakeLists.txt18
-rw-r--r--src/server/scripts/Events/events_script_loader.cpp26
-rw-r--r--src/server/scripts/Kalimdor/CMakeLists.txt129
-rw-r--r--src/server/scripts/Kalimdor/kalimdor_script_loader.cpp222
-rw-r--r--src/server/scripts/Maelstrom/CMakeLists.txt21
-rw-r--r--src/server/scripts/Maelstrom/maelstrom_script_loader.cpp38
-rw-r--r--src/server/scripts/Northrend/CMakeLists.txt199
-rw-r--r--src/server/scripts/Northrend/northrend_script_loader.cpp374
-rw-r--r--src/server/scripts/OutdoorPvP/CMakeLists.txt25
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPScriptLoader.cpp34
-rw-r--r--src/server/scripts/Outland/CMakeLists.txt128
-rw-r--r--src/server/scripts/Outland/outland_script_loader.cpp256
-rw-r--r--src/server/scripts/Pet/CMakeLists.txt21
-rw-r--r--src/server/scripts/Pet/pet_script_loader.cpp36
-rw-r--r--src/server/scripts/Spells/CMakeLists.txt30
-rw-r--r--src/server/scripts/Spells/spell_script_loader.cpp52
-rw-r--r--src/server/scripts/World/CMakeLists.txt18
-rw-r--r--src/server/scripts/World/world_script_loader.cpp60
27 files changed, 1651 insertions, 2296 deletions
diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp
index ddf3271bbf4..ccc4c39ccd1 100644
--- a/src/server/game/Scripting/ScriptLoader.cpp
+++ b/src/server/game/Scripting/ScriptLoader.cpp
@@ -18,702 +18,28 @@
#include "ScriptLoader.h"
#include "World.h"
-// spells
-void AddSC_deathknight_spell_scripts();
-void AddSC_druid_spell_scripts();
-void AddSC_generic_spell_scripts();
-void AddSC_hunter_spell_scripts();
-void AddSC_mage_spell_scripts();
-void AddSC_paladin_spell_scripts();
-void AddSC_priest_spell_scripts();
-void AddSC_rogue_spell_scripts();
-void AddSC_shaman_spell_scripts();
-void AddSC_warlock_spell_scripts();
-void AddSC_warrior_spell_scripts();
-void AddSC_quest_spell_scripts();
-void AddSC_item_spell_scripts();
-void AddSC_holiday_spell_scripts();
-
+void AddSpellsScripts();
void AddSC_SmartScripts();
-
-//Commands
-void AddSC_account_commandscript();
-void AddSC_achievement_commandscript();
-void AddSC_ahbot_commandscript();
-void AddSC_arena_commandscript();
-void AddSC_ban_commandscript();
-void AddSC_battlenet_account_commandscript();
-void AddSC_bf_commandscript();
-void AddSC_cast_commandscript();
-void AddSC_character_commandscript();
-void AddSC_cheat_commandscript();
-void AddSC_debug_commandscript();
-void AddSC_deserter_commandscript();
-void AddSC_disable_commandscript();
-void AddSC_event_commandscript();
-void AddSC_gm_commandscript();
-void AddSC_go_commandscript();
-void AddSC_gobject_commandscript();
-void AddSC_group_commandscript();
-void AddSC_guild_commandscript();
-void AddSC_honor_commandscript();
-void AddSC_instance_commandscript();
-void AddSC_learn_commandscript();
-void AddSC_lfg_commandscript();
-void AddSC_list_commandscript();
-void AddSC_lookup_commandscript();
-void AddSC_message_commandscript();
-void AddSC_misc_commandscript();
-void AddSC_mmaps_commandscript();
-void AddSC_modify_commandscript();
-void AddSC_npc_commandscript();
-void AddSC_pet_commandscript();
-void AddSC_quest_commandscript();
-void AddSC_rbac_commandscript();
-void AddSC_reload_commandscript();
-void AddSC_reset_commandscript();
-void AddSC_send_commandscript();
-void AddSC_server_commandscript();
-void AddSC_tele_commandscript();
-void AddSC_ticket_commandscript();
-void AddSC_titles_commandscript();
-void AddSC_wp_commandscript();
+void AddCommandsScripts();
#ifdef SCRIPTS
-//world
-void AddSC_areatrigger_scripts();
-void AddSC_emerald_dragons();
-void AddSC_generic_creature();
-void AddSC_go_scripts();
-void AddSC_guards();
-void AddSC_item_scripts();
-void AddSC_npc_professions();
-void AddSC_npc_innkeeper();
-void AddSC_npcs_special();
-void AddSC_npc_taxi();
-void AddSC_achievement_scripts();
-void AddSC_action_ip_logger();
-void AddSC_duel_reset();
-
-//eastern kingdoms
-void AddSC_alterac_valley(); //Alterac Valley
-void AddSC_boss_balinda();
-void AddSC_boss_drekthar();
-void AddSC_boss_galvangar();
-void AddSC_boss_vanndar();
-void AddSC_boss_alizabal(); //Baradin Hold
-void AddSC_boss_occuthar();
-void AddSC_boss_pit_lord_argaloth();
-void AddSC_instance_baradin_hold();
-void AddSC_boss_romogg_bonecrusher(); //Blackrock Caverns
-void AddSC_boss_corla();
-void AddSC_boss_karsh_steelbender();
-void AddSC_boss_beauty();
-void AddSC_boss_ascendant_lord_obsidius();
-void AddSC_blackrock_caverns();
-void AddSC_instance_blackrock_caverns();
-void AddSC_blackrock_depths(); //Blackrock Depths
-void AddSC_boss_ambassador_flamelash();
-void AddSC_boss_draganthaurissan();
-void AddSC_boss_general_angerforge();
-void AddSC_boss_high_interrogator_gerstahn();
-void AddSC_boss_magmus();
-void AddSC_boss_moira_bronzebeard();
-void AddSC_boss_tomb_of_seven();
-void AddSC_instance_blackrock_depths();
-void AddSC_boss_drakkisath(); //Blackrock Spire
-void AddSC_boss_halycon();
-void AddSC_boss_highlordomokk();
-void AddSC_boss_mothersmolderweb();
-void AddSC_boss_overlordwyrmthalak();
-void AddSC_boss_shadowvosh();
-void AddSC_boss_thebeast();
-void AddSC_boss_warmastervoone();
-void AddSC_boss_quatermasterzigris();
-void AddSC_boss_pyroguard_emberseer();
-void AddSC_boss_gyth();
-void AddSC_boss_rend_blackhand();
-void AddSC_boss_gizrul_the_slavener();
-void AddSC_boss_urok_doomhowl();
-void AddSC_boss_lord_valthalak();
-void AddSC_instance_blackrock_spire();
-void AddSC_boss_razorgore(); //Blackwing lair
-void AddSC_boss_vaelastrasz();
-void AddSC_boss_broodlord();
-void AddSC_boss_firemaw();
-void AddSC_boss_ebonroc();
-void AddSC_boss_flamegor();
-void AddSC_boss_chromaggus();
-void AddSC_boss_nefarian();
-void AddSC_instance_blackwing_lair();
-void AddSC_deadmines(); //Deadmines
-void AddSC_instance_deadmines();
-void AddSC_boss_mr_smite();
-void AddSC_gnomeregan(); //Gnomeregan
-void AddSC_instance_gnomeregan();
-void AddSC_boss_attumen(); //Karazhan
-void AddSC_boss_curator();
-void AddSC_boss_maiden_of_virtue();
-void AddSC_boss_shade_of_aran();
-void AddSC_boss_malchezaar();
-void AddSC_boss_terestian_illhoof();
-void AddSC_boss_moroes();
-void AddSC_bosses_opera();
-void AddSC_boss_netherspite();
-void AddSC_instance_karazhan();
-void AddSC_karazhan();
-void AddSC_boss_nightbane();
-void AddSC_boss_felblood_kaelthas(); // Magister's Terrace
-void AddSC_boss_selin_fireheart();
-void AddSC_boss_vexallus();
-void AddSC_boss_priestess_delrissa();
-void AddSC_instance_magisters_terrace();
-void AddSC_magisters_terrace();
-void AddSC_boss_lucifron(); //Molten core
-void AddSC_boss_magmadar();
-void AddSC_boss_gehennas();
-void AddSC_boss_garr();
-void AddSC_boss_baron_geddon();
-void AddSC_boss_shazzrah();
-void AddSC_boss_golemagg();
-void AddSC_boss_sulfuron();
-void AddSC_boss_majordomo();
-void AddSC_boss_ragnaros();
-void AddSC_instance_molten_core();
-void AddSC_instance_ragefire_chasm(); //Ragefire Chasm
-void AddSC_the_scarlet_enclave(); //Scarlet Enclave
-void AddSC_the_scarlet_enclave_c1();
-void AddSC_the_scarlet_enclave_c2();
-void AddSC_the_scarlet_enclave_c5();
-void AddSC_boss_arcanist_doan(); //Scarlet Monastery
-void AddSC_boss_azshir_the_sleepless();
-void AddSC_boss_bloodmage_thalnos();
-void AddSC_boss_headless_horseman();
-void AddSC_boss_herod();
-void AddSC_boss_high_inquisitor_fairbanks();
-void AddSC_boss_houndmaster_loksey();
-void AddSC_boss_interrogator_vishas();
-void AddSC_boss_scorn();
-void AddSC_instance_scarlet_monastery();
-void AddSC_boss_mograine_and_whitemane();
-void AddSC_boss_darkmaster_gandling(); //Scholomance
-void AddSC_boss_death_knight_darkreaver();
-void AddSC_boss_theolenkrastinov();
-void AddSC_boss_illuciabarov();
-void AddSC_boss_instructormalicia();
-void AddSC_boss_jandicebarov();
-void AddSC_boss_kormok();
-void AddSC_boss_lordalexeibarov();
-void AddSC_boss_lorekeeperpolkelt();
-void AddSC_boss_rasfrost();
-void AddSC_boss_theravenian();
-void AddSC_boss_vectus();
-void AddSC_boss_kirtonos_the_herald();
-void AddSC_instance_scholomance();
-void AddSC_shadowfang_keep(); //Shadowfang keep
-void AddSC_instance_shadowfang_keep();
-void AddSC_boss_magistrate_barthilas(); //Stratholme
-void AddSC_boss_maleki_the_pallid();
-void AddSC_boss_nerubenkan();
-void AddSC_boss_cannon_master_willey();
-void AddSC_boss_baroness_anastari();
-void AddSC_boss_ramstein_the_gorger();
-void AddSC_boss_timmy_the_cruel();
-void AddSC_boss_postmaster_malown();
-void AddSC_boss_baron_rivendare();
-void AddSC_boss_dathrohan_balnazzar();
-void AddSC_boss_order_of_silver_hand();
-void AddSC_instance_stratholme();
-void AddSC_stratholme();
-void AddSC_sunken_temple(); // Sunken Temple
-void AddSC_instance_sunken_temple();
-void AddSC_instance_sunwell_plateau(); //Sunwell Plateau
-void AddSC_boss_kalecgos();
-void AddSC_boss_brutallus();
-void AddSC_boss_felmyst();
-void AddSC_boss_eredar_twins();
-void AddSC_boss_muru();
-void AddSC_boss_kiljaeden();
-void AddSC_sunwell_plateau();
-void AddSC_boss_archaedas(); //Uldaman
-void AddSC_boss_ironaya();
-void AddSC_uldaman();
-void AddSC_instance_uldaman();
-void AddSC_instance_the_stockade(); //The Stockade
-void AddSC_boss_akilzon(); //Zul'Aman
-void AddSC_boss_halazzi();
-void AddSC_boss_hex_lord_malacrass();
-void AddSC_boss_janalai();
-void AddSC_boss_nalorakk();
-void AddSC_boss_daakara();
-void AddSC_instance_zulaman();
-void AddSC_zulaman();
-void AddSC_boss_grilek(); // Zul'Gurub
-void AddSC_boss_hazzarah();
-void AddSC_boss_jindo_the_godbreaker();
-void AddSC_boss_kilnara();
-void AddSC_boss_mandokir();
-void AddSC_boss_renataki();
-void AddSC_boss_venoxis();
-void AddSC_boss_wushoolay();
-void AddSC_boss_zanzil();
-void AddSC_instance_zulgurub();
-//void AddSC_alterac_mountains();
-void AddSC_arathi_highlands();
-void AddSC_blasted_lands();
-void AddSC_burning_steppes();
-void AddSC_duskwood();
-void AddSC_eastern_plaguelands();
-void AddSC_ghostlands();
-void AddSC_hinterlands();
-void AddSC_isle_of_queldanas();
-void AddSC_loch_modan();
-void AddSC_redridge_mountains();
-void AddSC_silverpine_forest();
-void AddSC_stormwind_city();
-void AddSC_stranglethorn_vale();
-void AddSC_swamp_of_sorrows();
-void AddSC_tirisfal_glades();
-void AddSC_undercity();
-void AddSC_western_plaguelands();
-void AddSC_wetlands();
-
-//kalimdor
-void AddSC_blackfathom_deeps(); //Blackfathom Depths
-void AddSC_boss_gelihast();
-void AddSC_boss_kelris();
-void AddSC_boss_aku_mai();
-void AddSC_instance_blackfathom_deeps();
-void AddSC_hyjal(); //CoT Battle for Mt. Hyjal
-void AddSC_boss_archimonde();
-void AddSC_instance_mount_hyjal();
-void AddSC_hyjal_trash();
-void AddSC_boss_rage_winterchill();
-void AddSC_boss_anetheron();
-void AddSC_boss_kazrogal();
-void AddSC_boss_azgalor();
-void AddSC_boss_captain_skarloc(); //CoT Old Hillsbrad
-void AddSC_boss_epoch_hunter();
-void AddSC_boss_lieutenant_drake();
-void AddSC_instance_old_hillsbrad();
-void AddSC_old_hillsbrad();
-void AddSC_boss_aeonus(); //CoT The Black Morass
-void AddSC_boss_chrono_lord_deja();
-void AddSC_boss_temporus();
-void AddSC_the_black_morass();
-void AddSC_instance_the_black_morass();
-void AddSC_boss_epoch(); //CoT Culling Of Stratholme
-void AddSC_boss_infinite_corruptor();
-void AddSC_boss_salramm();
-void AddSC_boss_mal_ganis();
-void AddSC_boss_meathook();
-void AddSC_culling_of_stratholme();
-void AddSC_instance_culling_of_stratholme();
-void AddSC_instance_dire_maul(); //Dire Maul
-void AddSC_boss_celebras_the_cursed(); //Maraudon
-void AddSC_boss_landslide();
-void AddSC_boss_noxxion();
-void AddSC_boss_ptheradras();
-void AddSC_instance_maraudon();
-void AddSC_boss_onyxia(); //Onyxia's Lair
-void AddSC_instance_onyxias_lair();
-void AddSC_boss_tuten_kash(); //Razorfen Downs
-void AddSC_boss_mordresh_fire_eye();
-void AddSC_boss_glutton();
-void AddSC_boss_amnennar_the_coldbringer();
-void AddSC_razorfen_downs();
-void AddSC_instance_razorfen_downs();
-void AddSC_razorfen_kraul(); //Razorfen Kraul
-void AddSC_instance_razorfen_kraul();
-void AddSC_boss_kurinnaxx(); //Ruins of ahn'qiraj
-void AddSC_boss_rajaxx();
-void AddSC_boss_moam();
-void AddSC_boss_buru();
-void AddSC_boss_ayamiss();
-void AddSC_boss_ossirian();
-void AddSC_instance_ruins_of_ahnqiraj();
-void AddSC_boss_cthun(); //Temple of ahn'qiraj
-void AddSC_boss_viscidus();
-void AddSC_boss_fankriss();
-void AddSC_boss_huhuran();
-void AddSC_bug_trio();
-void AddSC_boss_sartura();
-void AddSC_boss_skeram();
-void AddSC_boss_twinemperors();
-void AddSC_boss_ouro();
-void AddSC_npc_anubisath_sentinel();
-void AddSC_instance_temple_of_ahnqiraj();
-void AddSC_wailing_caverns(); //Wailing caverns
-void AddSC_instance_wailing_caverns();
-void AddSC_boss_zum_rah(); //Zul'Farrak
-void AddSC_zulfarrak();
-void AddSC_instance_zulfarrak();
-void AddSC_instance_halls_of_origination();
-void AddSC_boss_temple_guardian_anhuur();
-void AddSC_boss_earthrager_ptah();
-void AddSC_boss_anraphet();
-void AddSC_instance_firelands();
-void AddSC_boss_alysrazor();
-
-void AddSC_ashenvale();
-void AddSC_azshara();
-void AddSC_azuremyst_isle();
-void AddSC_bloodmyst_isle();
-void AddSC_darkshore();
-void AddSC_desolace();
-void AddSC_durotar();
-void AddSC_dustwallow_marsh();
-void AddSC_felwood();
-void AddSC_feralas();
-void AddSC_moonglade();
-void AddSC_orgrimmar();
-void AddSC_silithus();
-void AddSC_stonetalon_mountains();
-void AddSC_tanaris();
-void AddSC_teldrassil();
-void AddSC_the_barrens();
-void AddSC_thousand_needles();
-void AddSC_thunder_bluff();
-void AddSC_ungoro_crater();
-void AddSC_winterspring();
-
-// Northrend
-
-void AddSC_boss_slad_ran();
-void AddSC_boss_moorabi();
-void AddSC_boss_drakkari_colossus();
-void AddSC_boss_gal_darah();
-void AddSC_boss_eck();
-void AddSC_instance_gundrak();
-
-// Azjol-Nerub - Azjol-Nerub
-void AddSC_boss_krik_thir();
-void AddSC_boss_hadronox();
-void AddSC_boss_anub_arak();
-void AddSC_instance_azjol_nerub();
-
-// Azjol-Nerub - Ahn'kahet
-void AddSC_boss_elder_nadox();
-void AddSC_boss_taldaram();
-void AddSC_boss_amanitar();
-void AddSC_boss_jedoga_shadowseeker();
-void AddSC_boss_volazj();
-void AddSC_instance_ahnkahet();
-
-// Drak'Tharon Keep
-void AddSC_boss_trollgore();
-void AddSC_boss_novos();
-void AddSC_boss_king_dred();
-void AddSC_boss_tharon_ja();
-void AddSC_instance_drak_tharon_keep();
-
-void AddSC_boss_argent_challenge(); //Trial of the Champion
-void AddSC_boss_black_knight();
-void AddSC_boss_grand_champions();
-void AddSC_instance_trial_of_the_champion();
-void AddSC_trial_of_the_champion();
-void AddSC_boss_anubarak_trial(); //Trial of the Crusader
-void AddSC_boss_faction_champions();
-void AddSC_boss_jaraxxus();
-void AddSC_boss_northrend_beasts();
-void AddSC_boss_twin_valkyr();
-void AddSC_trial_of_the_crusader();
-void AddSC_instance_trial_of_the_crusader();
-void AddSC_boss_anubrekhan(); //Naxxramas
-void AddSC_boss_maexxna();
-void AddSC_boss_patchwerk();
-void AddSC_boss_grobbulus();
-void AddSC_boss_razuvious();
-void AddSC_boss_kelthuzad();
-void AddSC_boss_loatheb();
-void AddSC_boss_noth();
-void AddSC_boss_gluth();
-void AddSC_boss_sapphiron();
-void AddSC_boss_four_horsemen();
-void AddSC_boss_faerlina();
-void AddSC_boss_heigan();
-void AddSC_boss_gothik();
-void AddSC_boss_thaddius();
-void AddSC_instance_naxxramas();
-void AddSC_boss_nexus_commanders(); // The Nexus Nexus
-void AddSC_boss_magus_telestra();
-void AddSC_boss_anomalus();
-void AddSC_boss_ormorok();
-void AddSC_boss_keristrasza();
-void AddSC_instance_nexus();
-void AddSC_boss_drakos(); //The Nexus The Oculus
-void AddSC_boss_urom();
-void AddSC_boss_varos();
-void AddSC_boss_eregos();
-void AddSC_instance_oculus();
-void AddSC_oculus();
-void AddSC_boss_malygos(); // The Nexus: Eye of Eternity
-void AddSC_instance_eye_of_eternity();
-void AddSC_boss_sartharion(); //Obsidian Sanctum
-void AddSC_obsidian_sanctum();
-void AddSC_instance_obsidian_sanctum();
-void AddSC_boss_bjarngrim(); //Ulduar Halls of Lightning
-void AddSC_boss_loken();
-void AddSC_boss_ionar();
-void AddSC_boss_volkhan();
-void AddSC_instance_halls_of_lightning();
-void AddSC_boss_maiden_of_grief(); //Ulduar Halls of Stone
-void AddSC_boss_krystallus();
-void AddSC_boss_sjonnir();
-void AddSC_instance_halls_of_stone();
-void AddSC_halls_of_stone();
-void AddSC_boss_auriaya(); //Ulduar Ulduar
-void AddSC_boss_flame_leviathan();
-void AddSC_boss_ignis();
-void AddSC_boss_razorscale();
-void AddSC_boss_xt002();
-void AddSC_boss_kologarn();
-void AddSC_boss_assembly_of_iron();
-void AddSC_boss_general_vezax();
-void AddSC_boss_mimiron();
-void AddSC_boss_hodir();
-void AddSC_boss_freya();
-void AddSC_boss_yogg_saron();
-void AddSC_boss_algalon_the_observer();
-void AddSC_instance_ulduar();
-
-// Utgarde Keep - Utgarde Keep
-void AddSC_boss_keleseth();
-void AddSC_boss_skarvald_dalronn();
-void AddSC_boss_ingvar_the_plunderer();
-void AddSC_instance_utgarde_keep();
-void AddSC_utgarde_keep();
-
-// Utgarde Keep - Utgarde Pinnacle
-void AddSC_boss_svala();
-void AddSC_boss_palehoof();
-void AddSC_boss_skadi();
-void AddSC_boss_ymiron();
-void AddSC_instance_utgarde_pinnacle();
-
-// Vault of Archavon
-void AddSC_boss_archavon();
-void AddSC_boss_emalon();
-void AddSC_boss_koralon();
-void AddSC_boss_toravon();
-void AddSC_instance_vault_of_archavon();
-
-void AddSC_boss_cyanigosa(); //Violet Hold
-void AddSC_boss_erekem();
-void AddSC_boss_ichoron();
-void AddSC_boss_lavanthor();
-void AddSC_boss_moragg();
-void AddSC_boss_xevozz();
-void AddSC_boss_zuramat();
-void AddSC_instance_violet_hold();
-void AddSC_violet_hold();
-void AddSC_instance_forge_of_souls(); //Forge of Souls
-void AddSC_forge_of_souls();
-void AddSC_boss_bronjahm();
-void AddSC_boss_devourer_of_souls();
-void AddSC_instance_pit_of_saron(); //Pit of Saron
-void AddSC_pit_of_saron();
-void AddSC_boss_garfrost();
-void AddSC_boss_ick();
-void AddSC_boss_tyrannus();
-void AddSC_instance_halls_of_reflection(); // Halls of Reflection
-void AddSC_halls_of_reflection();
-void AddSC_boss_falric();
-void AddSC_boss_marwyn();
-void AddSC_boss_lord_marrowgar(); // Icecrown Citadel
-void AddSC_boss_lady_deathwhisper();
-void AddSC_boss_icecrown_gunship_battle();
-void AddSC_boss_deathbringer_saurfang();
-void AddSC_boss_festergut();
-void AddSC_boss_rotface();
-void AddSC_boss_professor_putricide();
-void AddSC_boss_blood_prince_council();
-void AddSC_boss_blood_queen_lana_thel();
-void AddSC_boss_valithria_dreamwalker();
-void AddSC_boss_sindragosa();
-void AddSC_boss_the_lich_king();
-void AddSC_icecrown_citadel_teleport();
-void AddSC_instance_icecrown_citadel();
-void AddSC_icecrown_citadel();
-void AddSC_instance_ruby_sanctum(); // Ruby Sanctum
-void AddSC_ruby_sanctum();
-void AddSC_boss_baltharus_the_warborn();
-void AddSC_boss_saviana_ragefire();
-void AddSC_boss_general_zarithrian();
-void AddSC_boss_halion();
-
-void AddSC_dalaran();
-void AddSC_borean_tundra();
-void AddSC_dragonblight();
-void AddSC_grizzly_hills();
-void AddSC_howling_fjord();
-void AddSC_icecrown();
-void AddSC_sholazar_basin();
-void AddSC_storm_peaks();
-void AddSC_wintergrasp();
-void AddSC_zuldrak();
-void AddSC_crystalsong_forest();
-void AddSC_isle_of_conquest();
-
-// Outland
-
-// Auchindoun - Auchenai Crypts
-void AddSC_boss_shirrak_the_dead_watcher();
-void AddSC_boss_exarch_maladaar();
-void AddSC_instance_auchenai_crypts();
-
-// Auchindoun - Mana Tombs
-void AddSC_boss_pandemonius();
-void AddSC_boss_nexusprince_shaffar();
-void AddSC_instance_mana_tombs();
-
-// Auchindoun - Sekketh Halls
-void AddSC_boss_darkweaver_syth();
-void AddSC_boss_talon_king_ikiss();
-void AddSC_boss_anzu();
-void AddSC_instance_sethekk_halls();
-
-// Auchindoun - Shadow Labyrinth
-void AddSC_boss_ambassador_hellmaw();
-void AddSC_boss_blackheart_the_inciter();
-void AddSC_boss_grandmaster_vorpil();
-void AddSC_boss_murmur();
-void AddSC_instance_shadow_labyrinth();
-
-// Black Temple
-void AddSC_black_temple();
-void AddSC_boss_illidan();
-void AddSC_boss_shade_of_akama();
-void AddSC_boss_supremus();
-void AddSC_boss_gurtogg_bloodboil();
-void AddSC_boss_mother_shahraz();
-void AddSC_boss_reliquary_of_souls();
-void AddSC_boss_teron_gorefiend();
-void AddSC_boss_najentus();
-void AddSC_boss_illidari_council();
-void AddSC_instance_black_temple();
-
-// Coilfang Reservoir - Serpent Shrine Cavern
-void AddSC_boss_fathomlord_karathress();
-void AddSC_boss_hydross_the_unstable();
-void AddSC_boss_lady_vashj();
-void AddSC_boss_leotheras_the_blind();
-void AddSC_boss_morogrim_tidewalker();
-void AddSC_instance_serpentshrine_cavern();
-void AddSC_boss_the_lurker_below();
-
-// Coilfang Reservoir - The Steam Vault
-void AddSC_boss_hydromancer_thespia();
-void AddSC_boss_mekgineer_steamrigger();
-void AddSC_boss_warlord_kalithresh();
-void AddSC_instance_steam_vault();
-
-// Coilfang Reservoir - The Slave Pens
-void AddSC_instance_the_slave_pens();
-void AddSC_boss_mennu_the_betrayer();
-void AddSC_boss_rokmar_the_crackler();
-void AddSC_boss_quagmirran();
-
-// Coilfang Reservoir - The Underbog
-void AddSC_instance_the_underbog();
-void AddSC_boss_hungarfen();
-void AddSC_boss_the_black_stalker();
-
-// Gruul's Lair
-void AddSC_boss_gruul();
-void AddSC_boss_high_king_maulgar();
-void AddSC_instance_gruuls_lair();
-void AddSC_boss_broggok(); //HC Blood Furnace
-void AddSC_boss_kelidan_the_breaker();
-void AddSC_boss_the_maker();
-void AddSC_instance_blood_furnace();
-void AddSC_boss_magtheridon(); //HC Magtheridon's Lair
-void AddSC_instance_magtheridons_lair();
-void AddSC_boss_grand_warlock_nethekurse(); //HC Shattered Halls
-void AddSC_boss_warbringer_omrogg();
-void AddSC_boss_warchief_kargath_bladefist();
-void AddSC_shattered_halls();
-void AddSC_instance_shattered_halls();
-void AddSC_boss_watchkeeper_gargolmar(); //HC Ramparts
-void AddSC_boss_omor_the_unscarred();
-void AddSC_boss_vazruden_the_herald();
-void AddSC_instance_ramparts();
-void AddSC_arcatraz(); //TK Arcatraz
-void AddSC_boss_zereketh_the_unbound();
-void AddSC_boss_dalliah_the_doomsayer();
-void AddSC_boss_wrath_scryer_soccothrates();
-void AddSC_boss_harbinger_skyriss();
-void AddSC_instance_arcatraz();
-void AddSC_boss_high_botanist_freywinn(); //TK Botanica
-void AddSC_boss_laj();
-void AddSC_boss_warp_splinter();
-void AddSC_boss_thorngrin_the_tender();
-void AddSC_boss_commander_sarannis();
-void AddSC_instance_the_botanica();
-void AddSC_boss_alar(); //TK The Eye
-void AddSC_boss_kaelthas();
-void AddSC_boss_void_reaver();
-void AddSC_boss_high_astromancer_solarian();
-void AddSC_instance_the_eye();
-void AddSC_the_eye();
-void AddSC_boss_gatewatcher_iron_hand(); //TK The Mechanar
-void AddSC_boss_gatewatcher_gyrokill();
-void AddSC_boss_nethermancer_sepethrea();
-void AddSC_boss_pathaleon_the_calculator();
-void AddSC_boss_mechano_lord_capacitus();
-void AddSC_instance_mechanar();
-
-void AddSC_blades_edge_mountains();
-void AddSC_boss_doomlordkazzak();
-void AddSC_boss_doomwalker();
-void AddSC_hellfire_peninsula();
-void AddSC_nagrand();
-void AddSC_netherstorm();
-void AddSC_shadowmoon_valley();
-void AddSC_shattrath_city();
-void AddSC_terokkar_forest();
-void AddSC_zangarmarsh();
-
-// Maelstrom
-void AddSC_kezan();
-void AddSC_instance_stonecore(); // Stonecore
-void AddSC_stonecore();
-void AddSC_boss_corborus();
-void AddSC_boss_slabhide();
-void AddSC_boss_ozruk();
-void AddSC_boss_high_priestess_azil();
-
-// Events
-void AddSC_event_childrens_week();
-
-// Pets
-void AddSC_deathknight_pet_scripts();
-void AddSC_generic_pet_scripts();
-void AddSC_hunter_pet_scripts();
-void AddSC_mage_pet_scripts();
-void AddSC_priest_pet_scripts();
-void AddSC_shaman_pet_scripts();
-
-// battlegrounds
-
-// outdoor pvp
-void AddSC_outdoorpvp_hp();
-void AddSC_outdoorpvp_na();
-void AddSC_outdoorpvp_si();
-void AddSC_outdoorpvp_tf();
-void AddSC_outdoorpvp_zm();
-
-// player
-void AddSC_chat_log();
-void AddSC_action_ip_logger();
-
+void AddWorldScripts();
+void AddEasternKingdomsScripts();
+void AddKalimdorScripts();
+void AddOutlandScripts();
+void AddNorthrendScripts();
+void AddMaelstromScripts();
+void AddEventsScripts();
+void AddPetScripts();
+void AddOutdoorPvPScripts();
+void AddCustomScripts();
#endif
void AddScripts()
{
- AddSpellScripts();
+ AddSpellsScripts();
AddSC_SmartScripts();
- AddCommandScripts();
+ AddCommandsScripts();
#ifdef SCRIPTS
AddWorldScripts();
AddEasternKingdomsScripts();
@@ -721,754 +47,9 @@ void AddScripts()
AddOutlandScripts();
AddNorthrendScripts();
AddMaelstromScripts();
- AddEventScripts();
+ AddEventsScripts();
AddPetScripts();
- AddBattlegroundScripts();
AddOutdoorPvPScripts();
AddCustomScripts();
#endif
}
-
-void AddSpellScripts()
-{
- AddSC_deathknight_spell_scripts();
- AddSC_druid_spell_scripts();
- AddSC_generic_spell_scripts();
- AddSC_hunter_spell_scripts();
- AddSC_mage_spell_scripts();
- AddSC_paladin_spell_scripts();
- AddSC_priest_spell_scripts();
- AddSC_rogue_spell_scripts();
- AddSC_shaman_spell_scripts();
- AddSC_warlock_spell_scripts();
- AddSC_warrior_spell_scripts();
- AddSC_quest_spell_scripts();
- AddSC_item_spell_scripts();
- AddSC_holiday_spell_scripts();
-}
-
-void AddCommandScripts()
-{
- AddSC_account_commandscript();
- AddSC_achievement_commandscript();
- AddSC_ahbot_commandscript();
- AddSC_arena_commandscript();
- AddSC_ban_commandscript();
- AddSC_battlenet_account_commandscript();
- AddSC_bf_commandscript();
- AddSC_cast_commandscript();
- AddSC_character_commandscript();
- AddSC_cheat_commandscript();
- AddSC_debug_commandscript();
- AddSC_deserter_commandscript();
- AddSC_disable_commandscript();
- AddSC_event_commandscript();
- AddSC_gm_commandscript();
- AddSC_go_commandscript();
- AddSC_gobject_commandscript();
- AddSC_group_commandscript();
- AddSC_guild_commandscript();
- AddSC_honor_commandscript();
- AddSC_instance_commandscript();
- AddSC_learn_commandscript();
- AddSC_lookup_commandscript();
- AddSC_lfg_commandscript();
- AddSC_list_commandscript();
- AddSC_message_commandscript();
- AddSC_misc_commandscript();
- AddSC_mmaps_commandscript();
- AddSC_modify_commandscript();
- AddSC_npc_commandscript();
- AddSC_quest_commandscript();
- AddSC_pet_commandscript();
- AddSC_rbac_commandscript();
- AddSC_reload_commandscript();
- AddSC_reset_commandscript();
- AddSC_send_commandscript();
- AddSC_server_commandscript();
- AddSC_tele_commandscript();
- AddSC_ticket_commandscript();
- AddSC_titles_commandscript();
- AddSC_wp_commandscript();
-}
-
-void AddWorldScripts()
-{
-#ifdef SCRIPTS
- AddSC_areatrigger_scripts();
- AddSC_emerald_dragons();
- AddSC_generic_creature();
- AddSC_go_scripts();
- AddSC_guards();
- AddSC_item_scripts();
- AddSC_npc_professions();
- AddSC_npc_innkeeper();
- AddSC_npcs_special();
- AddSC_npc_taxi();
- AddSC_achievement_scripts();
- AddSC_chat_log(); // location: scripts\World\chat_log.cpp
- // To avoid duplicate code, we check once /*ONLY*/ if logging is permitted or not.
- if (sWorld->getBoolConfig(CONFIG_IP_BASED_ACTION_LOGGING))
- AddSC_action_ip_logger(); // location: scripts\World\action_ip_logger.cpp
- AddSC_duel_reset();
-#endif
-}
-
-void AddEasternKingdomsScripts()
-{
-#ifdef SCRIPTS
- AddSC_alterac_valley(); //Alterac Valley
- AddSC_boss_balinda();
- AddSC_boss_drekthar();
- AddSC_boss_galvangar();
- AddSC_boss_vanndar();
- AddSC_boss_alizabal(); //Baradin Hold
- AddSC_boss_occuthar();
- AddSC_boss_pit_lord_argaloth();
- AddSC_instance_baradin_hold();
- AddSC_boss_romogg_bonecrusher(); //Blackrock Caverns
- AddSC_boss_corla();
- AddSC_boss_karsh_steelbender();
- AddSC_boss_beauty();
- AddSC_boss_ascendant_lord_obsidius();
- AddSC_blackrock_caverns();
- AddSC_instance_blackrock_caverns();
- AddSC_blackrock_depths(); //Blackrock Depths
- AddSC_boss_ambassador_flamelash();
- AddSC_boss_draganthaurissan();
- AddSC_boss_general_angerforge();
- AddSC_boss_high_interrogator_gerstahn();
- AddSC_boss_magmus();
- AddSC_boss_moira_bronzebeard();
- AddSC_boss_tomb_of_seven();
- AddSC_instance_blackrock_depths();
- AddSC_boss_drakkisath(); //Blackrock Spire
- AddSC_boss_halycon();
- AddSC_boss_highlordomokk();
- AddSC_boss_mothersmolderweb();
- AddSC_boss_overlordwyrmthalak();
- AddSC_boss_shadowvosh();
- AddSC_boss_thebeast();
- AddSC_boss_warmastervoone();
- AddSC_boss_quatermasterzigris();
- AddSC_boss_pyroguard_emberseer();
- AddSC_boss_gyth();
- AddSC_boss_rend_blackhand();
- AddSC_boss_gizrul_the_slavener();
- AddSC_boss_urok_doomhowl();
- AddSC_boss_lord_valthalak();
- AddSC_instance_blackrock_spire();
- AddSC_boss_razorgore(); //Blackwing lair
- AddSC_boss_vaelastrasz();
- AddSC_boss_broodlord();
- AddSC_boss_firemaw();
- AddSC_boss_ebonroc();
- AddSC_boss_flamegor();
- AddSC_boss_chromaggus();
- AddSC_boss_nefarian();
- AddSC_instance_blackwing_lair();
- AddSC_deadmines(); //Deadmines
- AddSC_boss_mr_smite();
- AddSC_instance_deadmines();
- AddSC_gnomeregan(); //Gnomeregan
- AddSC_instance_gnomeregan();
- AddSC_boss_attumen(); //Karazhan
- AddSC_boss_curator();
- AddSC_boss_maiden_of_virtue();
- AddSC_boss_shade_of_aran();
- AddSC_boss_malchezaar();
- AddSC_boss_terestian_illhoof();
- AddSC_boss_moroes();
- AddSC_bosses_opera();
- AddSC_boss_netherspite();
- AddSC_instance_karazhan();
- AddSC_karazhan();
- AddSC_boss_nightbane();
- AddSC_boss_felblood_kaelthas(); // Magister's Terrace
- AddSC_boss_selin_fireheart();
- AddSC_boss_vexallus();
- AddSC_boss_priestess_delrissa();
- AddSC_instance_magisters_terrace();
- AddSC_magisters_terrace();
- AddSC_boss_lucifron(); //Molten core
- AddSC_boss_magmadar();
- AddSC_boss_gehennas();
- AddSC_boss_garr();
- AddSC_boss_baron_geddon();
- AddSC_boss_shazzrah();
- AddSC_boss_golemagg();
- AddSC_boss_sulfuron();
- AddSC_boss_majordomo();
- AddSC_boss_ragnaros();
- AddSC_instance_molten_core();
- AddSC_instance_ragefire_chasm(); //Ragefire Chasm
- AddSC_the_scarlet_enclave(); //Scarlet Enclave
- AddSC_the_scarlet_enclave_c1();
- AddSC_the_scarlet_enclave_c2();
- AddSC_the_scarlet_enclave_c5();
- AddSC_boss_arcanist_doan(); //Scarlet Monastery
- AddSC_boss_azshir_the_sleepless();
- AddSC_boss_bloodmage_thalnos();
- AddSC_boss_headless_horseman();
- AddSC_boss_herod();
- AddSC_boss_high_inquisitor_fairbanks();
- AddSC_boss_houndmaster_loksey();
- AddSC_boss_interrogator_vishas();
- AddSC_boss_scorn();
- AddSC_instance_scarlet_monastery();
- AddSC_boss_mograine_and_whitemane();
- AddSC_boss_darkmaster_gandling(); //Scholomance
- AddSC_boss_death_knight_darkreaver();
- AddSC_boss_theolenkrastinov();
- AddSC_boss_illuciabarov();
- AddSC_boss_instructormalicia();
- AddSC_boss_jandicebarov();
- AddSC_boss_kormok();
- AddSC_boss_lordalexeibarov();
- AddSC_boss_lorekeeperpolkelt();
- AddSC_boss_rasfrost();
- AddSC_boss_theravenian();
- AddSC_boss_vectus();
- AddSC_boss_kirtonos_the_herald();
- AddSC_instance_scholomance();
- AddSC_shadowfang_keep(); //Shadowfang keep
- AddSC_instance_shadowfang_keep();
- AddSC_boss_magistrate_barthilas(); //Stratholme
- AddSC_boss_maleki_the_pallid();
- AddSC_boss_nerubenkan();
- AddSC_boss_cannon_master_willey();
- AddSC_boss_baroness_anastari();
- AddSC_boss_ramstein_the_gorger();
- AddSC_boss_timmy_the_cruel();
- AddSC_boss_postmaster_malown();
- AddSC_boss_baron_rivendare();
- AddSC_boss_dathrohan_balnazzar();
- AddSC_boss_order_of_silver_hand();
- AddSC_instance_stratholme();
- AddSC_stratholme();
- AddSC_sunken_temple(); // Sunken Temple
- AddSC_instance_sunken_temple();
- AddSC_instance_sunwell_plateau(); //Sunwell Plateau
- AddSC_boss_kalecgos();
- AddSC_boss_brutallus();
- AddSC_boss_felmyst();
- AddSC_boss_eredar_twins();
- AddSC_boss_muru();
- AddSC_boss_kiljaeden();
- AddSC_sunwell_plateau();
- AddSC_instance_the_stockade(); //The Stockade
- AddSC_boss_archaedas(); //Uldaman
- AddSC_boss_ironaya();
- AddSC_uldaman();
- AddSC_instance_uldaman();
- AddSC_boss_akilzon(); //Zul'Aman
- AddSC_boss_halazzi();
- AddSC_boss_hex_lord_malacrass();
- AddSC_boss_janalai();
- AddSC_boss_nalorakk();
- AddSC_boss_daakara();
- AddSC_instance_zulaman();
- AddSC_zulaman();
- AddSC_boss_grilek(); // Zul'Gurub
- AddSC_boss_hazzarah();
- AddSC_boss_jindo_the_godbreaker();
- AddSC_boss_kilnara();
- AddSC_boss_mandokir();
- AddSC_boss_renataki();
- AddSC_boss_venoxis();
- AddSC_boss_wushoolay();
- AddSC_boss_zanzil();
- AddSC_instance_zulgurub();
-
- //AddSC_alterac_mountains();
- AddSC_arathi_highlands();
- AddSC_blasted_lands();
- AddSC_burning_steppes();
- AddSC_duskwood();
- AddSC_eastern_plaguelands();
- AddSC_ghostlands();
- AddSC_hinterlands();
- AddSC_isle_of_queldanas();
- AddSC_loch_modan();
- AddSC_redridge_mountains();
- AddSC_silverpine_forest();
- AddSC_stormwind_city();
- AddSC_stranglethorn_vale();
- AddSC_swamp_of_sorrows();
- AddSC_tirisfal_glades();
- AddSC_undercity();
- AddSC_western_plaguelands();
- AddSC_wetlands();
-#endif
-}
-
-void AddKalimdorScripts()
-{
-#ifdef SCRIPTS
- AddSC_blackfathom_deeps(); //Blackfathom Depths
- AddSC_boss_gelihast();
- AddSC_boss_kelris();
- AddSC_boss_aku_mai();
- AddSC_instance_blackfathom_deeps();
- AddSC_hyjal(); //CoT Battle for Mt. Hyjal
- AddSC_boss_archimonde();
- AddSC_instance_mount_hyjal();
- AddSC_hyjal_trash();
- AddSC_boss_rage_winterchill();
- AddSC_boss_anetheron();
- AddSC_boss_kazrogal();
- AddSC_boss_azgalor();
- AddSC_boss_captain_skarloc(); //CoT Old Hillsbrad
- AddSC_boss_epoch_hunter();
- AddSC_boss_lieutenant_drake();
- AddSC_instance_old_hillsbrad();
- AddSC_old_hillsbrad();
- AddSC_boss_aeonus(); //CoT The Black Morass
- AddSC_boss_chrono_lord_deja();
- AddSC_boss_temporus();
- AddSC_the_black_morass();
- AddSC_instance_the_black_morass();
- AddSC_boss_epoch(); //CoT Culling Of Stratholme
- AddSC_boss_infinite_corruptor();
- AddSC_boss_salramm();
- AddSC_boss_mal_ganis();
- AddSC_boss_meathook();
- AddSC_culling_of_stratholme();
- AddSC_instance_culling_of_stratholme();
- AddSC_instance_dire_maul(); //Dire Maul
- AddSC_boss_celebras_the_cursed(); //Maraudon
- AddSC_boss_landslide();
- AddSC_boss_noxxion();
- AddSC_boss_ptheradras();
- AddSC_instance_maraudon();
- AddSC_boss_onyxia(); //Onyxia's Lair
- AddSC_instance_onyxias_lair();
- AddSC_boss_tuten_kash(); //Razorfen Downs
- AddSC_boss_mordresh_fire_eye();
- AddSC_boss_glutton();
- AddSC_boss_amnennar_the_coldbringer();
- AddSC_razorfen_downs();
- AddSC_instance_razorfen_downs();
- AddSC_razorfen_kraul(); //Razorfen Kraul
- AddSC_instance_razorfen_kraul();
- AddSC_boss_kurinnaxx(); //Ruins of ahn'qiraj
- AddSC_boss_rajaxx();
- AddSC_boss_moam();
- AddSC_boss_buru();
- AddSC_boss_ayamiss();
- AddSC_boss_ossirian();
- AddSC_instance_ruins_of_ahnqiraj();
- AddSC_boss_cthun(); //Temple of ahn'qiraj
- AddSC_boss_viscidus();
- AddSC_boss_fankriss();
- AddSC_boss_huhuran();
- AddSC_bug_trio();
- AddSC_boss_sartura();
- AddSC_boss_skeram();
- AddSC_boss_twinemperors();
- AddSC_boss_ouro();
- AddSC_npc_anubisath_sentinel();
- AddSC_instance_temple_of_ahnqiraj();
- AddSC_wailing_caverns(); //Wailing caverns
- AddSC_instance_wailing_caverns();
- AddSC_boss_zum_rah(); //Zul'Farrak
- AddSC_zulfarrak();
- AddSC_instance_zulfarrak();
-
- AddSC_ashenvale();
- AddSC_azshara();
- AddSC_azuremyst_isle();
- AddSC_bloodmyst_isle();
- AddSC_darkshore();
- AddSC_desolace();
- AddSC_durotar();
- AddSC_dustwallow_marsh();
- AddSC_felwood();
- AddSC_feralas();
- AddSC_moonglade();
- AddSC_orgrimmar();
- AddSC_silithus();
- AddSC_stonetalon_mountains();
- AddSC_tanaris();
- AddSC_teldrassil();
- AddSC_the_barrens();
- AddSC_thousand_needles();
- AddSC_thunder_bluff();
- AddSC_ungoro_crater();
- AddSC_winterspring();
-
- AddSC_instance_halls_of_origination();
- AddSC_boss_temple_guardian_anhuur();
- AddSC_boss_earthrager_ptah();
- AddSC_boss_anraphet();
-
- AddSC_instance_firelands();
- AddSC_boss_alysrazor();
-#endif
-}
-
-void AddOutlandScripts()
-{
-#ifdef SCRIPTS
- // Auchindoun - Auchenai Crypts
- AddSC_boss_shirrak_the_dead_watcher();
- AddSC_boss_exarch_maladaar();
- AddSC_instance_auchenai_crypts();
-
- // Auchindoun - Mana Tombs
- AddSC_boss_pandemonius();
- AddSC_boss_nexusprince_shaffar();
- AddSC_instance_mana_tombs();
-
- // Auchindoun - Sekketh Halls
- AddSC_boss_darkweaver_syth();
- AddSC_boss_talon_king_ikiss();
- AddSC_boss_anzu();
- AddSC_instance_sethekk_halls();
-
- // Auchindoun - Shadow Labyrinth
- AddSC_boss_ambassador_hellmaw();
- AddSC_boss_blackheart_the_inciter();
- AddSC_boss_grandmaster_vorpil();
- AddSC_boss_murmur();
- AddSC_instance_shadow_labyrinth();
-
- // Black Temple
- AddSC_black_temple();
- AddSC_boss_illidan();
- AddSC_boss_shade_of_akama();
- AddSC_boss_supremus();
- AddSC_boss_gurtogg_bloodboil();
- AddSC_boss_mother_shahraz();
- AddSC_boss_reliquary_of_souls();
- AddSC_boss_teron_gorefiend();
- AddSC_boss_najentus();
- AddSC_boss_illidari_council();
- AddSC_instance_black_temple();
-
- // Coilfang Reservoir - Serpent Shrine Cavern
- AddSC_boss_fathomlord_karathress();
- AddSC_boss_hydross_the_unstable();
- AddSC_boss_lady_vashj();
- AddSC_boss_leotheras_the_blind();
- AddSC_boss_morogrim_tidewalker();
- AddSC_instance_serpentshrine_cavern();
- AddSC_boss_the_lurker_below();
-
- // Coilfang Reservoir - The Steam Vault
- AddSC_instance_steam_vault();
- AddSC_boss_hydromancer_thespia();
- AddSC_boss_mekgineer_steamrigger();
- AddSC_boss_warlord_kalithresh();
-
- // Coilfang Reservoir - The Slave Pens
- AddSC_instance_the_slave_pens();
- AddSC_boss_mennu_the_betrayer();
- AddSC_boss_rokmar_the_crackler();
- AddSC_boss_quagmirran();
-
- // Coilfang Reservoir - The Underbog
- AddSC_instance_the_underbog();
- AddSC_boss_hungarfen();
- AddSC_boss_the_black_stalker();
-
- // Gruul's Lair
- AddSC_boss_gruul();
- AddSC_boss_high_king_maulgar();
- AddSC_instance_gruuls_lair();
- AddSC_boss_broggok(); //HC Blood Furnace
- AddSC_boss_kelidan_the_breaker();
- AddSC_boss_the_maker();
- AddSC_instance_blood_furnace();
- AddSC_boss_magtheridon(); //HC Magtheridon's Lair
- AddSC_instance_magtheridons_lair();
- AddSC_boss_grand_warlock_nethekurse(); //HC Shattered Halls
- AddSC_boss_warbringer_omrogg();
- AddSC_boss_warchief_kargath_bladefist();
- AddSC_shattered_halls();
- AddSC_instance_shattered_halls();
- AddSC_boss_watchkeeper_gargolmar(); //HC Ramparts
- AddSC_boss_omor_the_unscarred();
- AddSC_boss_vazruden_the_herald();
- AddSC_instance_ramparts();
- AddSC_arcatraz(); //TK Arcatraz
- AddSC_boss_zereketh_the_unbound();
- AddSC_boss_dalliah_the_doomsayer();
- AddSC_boss_wrath_scryer_soccothrates();
- AddSC_boss_harbinger_skyriss();
- AddSC_instance_arcatraz();
- AddSC_boss_high_botanist_freywinn(); //TK Botanica
- AddSC_boss_laj();
- AddSC_boss_warp_splinter();
- AddSC_boss_thorngrin_the_tender();
- AddSC_boss_commander_sarannis();
- AddSC_instance_the_botanica();
- AddSC_boss_alar(); //TK The Eye
- AddSC_boss_kaelthas();
- AddSC_boss_void_reaver();
- AddSC_boss_high_astromancer_solarian();
- AddSC_instance_the_eye();
- AddSC_the_eye();
- AddSC_boss_gatewatcher_iron_hand(); //TK The Mechanar
- AddSC_boss_gatewatcher_gyrokill();
- AddSC_boss_nethermancer_sepethrea();
- AddSC_boss_pathaleon_the_calculator();
- AddSC_boss_mechano_lord_capacitus();
- AddSC_instance_mechanar();
-
- AddSC_blades_edge_mountains();
- AddSC_boss_doomlordkazzak();
- AddSC_boss_doomwalker();
- AddSC_hellfire_peninsula();
- AddSC_nagrand();
- AddSC_netherstorm();
- AddSC_shadowmoon_valley();
- AddSC_shattrath_city();
- AddSC_terokkar_forest();
- AddSC_zangarmarsh();
-#endif
-}
-
-void AddNorthrendScripts()
-{
-#ifdef SCRIPTS
- AddSC_boss_slad_ran(); //Gundrak
- AddSC_boss_moorabi();
- AddSC_boss_drakkari_colossus();
- AddSC_boss_gal_darah();
- AddSC_boss_eck();
- AddSC_instance_gundrak();
-
- // Azjol-Nerub - Ahn'kahet
- AddSC_boss_elder_nadox();
- AddSC_boss_taldaram();
- AddSC_boss_amanitar();
- AddSC_boss_jedoga_shadowseeker();
- AddSC_boss_volazj();
- AddSC_instance_ahnkahet();
-
- // Azjol-Nerub - Azjol-Nerub
- AddSC_boss_krik_thir();
- AddSC_boss_hadronox();
- AddSC_boss_anub_arak();
- AddSC_instance_azjol_nerub();
-
- // Drak'Tharon Keep
- AddSC_boss_trollgore();
- AddSC_boss_novos();
- AddSC_boss_king_dred();
- AddSC_boss_tharon_ja();
- AddSC_instance_drak_tharon_keep();
-
- AddSC_boss_argent_challenge(); //Trial of the Champion
- AddSC_boss_black_knight();
- AddSC_boss_grand_champions();
- AddSC_instance_trial_of_the_champion();
- AddSC_trial_of_the_champion();
- AddSC_boss_anubarak_trial(); //Trial of the Crusader
- AddSC_boss_faction_champions();
- AddSC_boss_jaraxxus();
- AddSC_trial_of_the_crusader();
- AddSC_boss_twin_valkyr();
- AddSC_boss_northrend_beasts();
- AddSC_instance_trial_of_the_crusader();
- AddSC_boss_anubrekhan(); //Naxxramas
- AddSC_boss_maexxna();
- AddSC_boss_patchwerk();
- AddSC_boss_grobbulus();
- AddSC_boss_razuvious();
- AddSC_boss_kelthuzad();
- AddSC_boss_loatheb();
- AddSC_boss_noth();
- AddSC_boss_gluth();
- AddSC_boss_sapphiron();
- AddSC_boss_four_horsemen();
- AddSC_boss_faerlina();
- AddSC_boss_heigan();
- AddSC_boss_gothik();
- AddSC_boss_thaddius();
- AddSC_instance_naxxramas();
- AddSC_boss_nexus_commanders(); // The Nexus Nexus
- AddSC_boss_magus_telestra();
- AddSC_boss_anomalus();
- AddSC_boss_ormorok();
- AddSC_boss_keristrasza();
- AddSC_instance_nexus();
- AddSC_boss_drakos(); //The Nexus The Oculus
- AddSC_boss_urom();
- AddSC_boss_varos();
- AddSC_boss_eregos();
- AddSC_instance_oculus();
- AddSC_oculus();
- AddSC_boss_malygos(); // The Nexus: Eye of Eternity
- AddSC_instance_eye_of_eternity();
- AddSC_boss_sartharion(); //Obsidian Sanctum
- AddSC_obsidian_sanctum();
- AddSC_instance_obsidian_sanctum();
- AddSC_boss_bjarngrim(); //Ulduar Halls of Lightning
- AddSC_boss_loken();
- AddSC_boss_ionar();
- AddSC_boss_volkhan();
- AddSC_instance_halls_of_lightning();
- AddSC_boss_maiden_of_grief(); //Ulduar Halls of Stone
- AddSC_boss_krystallus();
- AddSC_boss_sjonnir();
- AddSC_instance_halls_of_stone();
- AddSC_halls_of_stone();
- AddSC_boss_auriaya(); //Ulduar Ulduar
- AddSC_boss_flame_leviathan();
- AddSC_boss_ignis();
- AddSC_boss_razorscale();
- AddSC_boss_xt002();
- AddSC_boss_general_vezax();
- AddSC_boss_assembly_of_iron();
- AddSC_boss_kologarn();
- AddSC_boss_mimiron();
- AddSC_boss_hodir();
- AddSC_boss_freya();
- AddSC_boss_yogg_saron();
- AddSC_boss_algalon_the_observer();
- AddSC_instance_ulduar();
-
- // Utgarde Keep - Utgarde Keep
- AddSC_boss_keleseth();
- AddSC_boss_skarvald_dalronn();
- AddSC_boss_ingvar_the_plunderer();
- AddSC_instance_utgarde_keep();
- AddSC_utgarde_keep();
-
- // Utgarde Keep - Utgarde Pinnacle
- AddSC_boss_svala();
- AddSC_boss_palehoof();
- AddSC_boss_skadi();
- AddSC_boss_ymiron();
- AddSC_instance_utgarde_pinnacle();
-
- // Vault of Archavon
- AddSC_boss_archavon();
- AddSC_boss_emalon();
- AddSC_boss_koralon();
- AddSC_boss_toravon();
- AddSC_instance_vault_of_archavon();
-
- AddSC_boss_cyanigosa(); //Violet Hold
- AddSC_boss_erekem();
- AddSC_boss_ichoron();
- AddSC_boss_lavanthor();
- AddSC_boss_moragg();
- AddSC_boss_xevozz();
- AddSC_boss_zuramat();
- AddSC_instance_violet_hold();
- AddSC_violet_hold();
- AddSC_instance_forge_of_souls(); //Forge of Souls
- AddSC_forge_of_souls();
- AddSC_boss_bronjahm();
- AddSC_boss_devourer_of_souls();
- AddSC_instance_pit_of_saron(); //Pit of Saron
- AddSC_pit_of_saron();
- AddSC_boss_garfrost();
- AddSC_boss_ick();
- AddSC_boss_tyrannus();
- AddSC_instance_halls_of_reflection(); // Halls of Reflection
- AddSC_halls_of_reflection();
- AddSC_boss_falric();
- AddSC_boss_marwyn();
- AddSC_boss_lord_marrowgar(); // Icecrown Citadel
- AddSC_boss_lady_deathwhisper();
- AddSC_boss_icecrown_gunship_battle();
- AddSC_boss_deathbringer_saurfang();
- AddSC_boss_festergut();
- AddSC_boss_rotface();
- AddSC_boss_professor_putricide();
- AddSC_boss_blood_prince_council();
- AddSC_boss_blood_queen_lana_thel();
- AddSC_boss_valithria_dreamwalker();
- AddSC_boss_sindragosa();
- AddSC_boss_the_lich_king();
- AddSC_icecrown_citadel_teleport();
- AddSC_instance_icecrown_citadel();
- AddSC_icecrown_citadel();
- AddSC_instance_ruby_sanctum(); // Ruby Sanctum
- AddSC_ruby_sanctum();
- AddSC_boss_baltharus_the_warborn();
- AddSC_boss_saviana_ragefire();
- AddSC_boss_general_zarithrian();
- AddSC_boss_halion();
-
- AddSC_dalaran();
- AddSC_borean_tundra();
- AddSC_dragonblight();
- AddSC_grizzly_hills();
- AddSC_howling_fjord();
- AddSC_icecrown();
- AddSC_sholazar_basin();
- AddSC_storm_peaks();
- AddSC_wintergrasp();
- AddSC_zuldrak();
- AddSC_crystalsong_forest();
- AddSC_isle_of_conquest();
-#endif
-}
-
-
-void AddMaelstromScripts()
-{
-#ifdef SCRIPTS
- AddSC_kezan();
- AddSC_instance_stonecore(); // Stonecore
- AddSC_stonecore();
- AddSC_boss_corborus();
- AddSC_boss_slabhide();
- AddSC_boss_ozruk();
- AddSC_boss_high_priestess_azil();
-#endif
-}
-
-void AddEventScripts()
-{
-#ifdef SCRIPTS
- AddSC_event_childrens_week();
-#endif
-}
-
-void AddPetScripts()
-{
-#ifdef SCRIPTS
- AddSC_deathknight_pet_scripts();
- AddSC_generic_pet_scripts();
- AddSC_hunter_pet_scripts();
- AddSC_mage_pet_scripts();
- AddSC_priest_pet_scripts();
- AddSC_shaman_pet_scripts();
-#endif
-}
-
-void AddOutdoorPvPScripts()
-{
-#ifdef SCRIPTS
- AddSC_outdoorpvp_hp();
- AddSC_outdoorpvp_na();
- AddSC_outdoorpvp_si();
- AddSC_outdoorpvp_tf();
- AddSC_outdoorpvp_zm();
-#endif
-}
-
-void AddBattlegroundScripts()
-{
-#ifdef SCRIPTS
-#endif
-}
-
-#ifdef SCRIPTS
-/* This is where custom scripts' loading functions should be declared. */
-
-#endif
-
-void AddCustomScripts()
-{
-#ifdef SCRIPTS
- /* This is where custom scripts should be added. */
-
-#endif
-}
diff --git a/src/server/game/Scripting/ScriptLoader.h b/src/server/game/Scripting/ScriptLoader.h
index 5236f09445c..57b62df22d1 100644
--- a/src/server/game/Scripting/ScriptLoader.h
+++ b/src/server/game/Scripting/ScriptLoader.h
@@ -19,18 +19,5 @@
#define SC_SCRIPTLOADER_H
void AddScripts();
-void AddSpellScripts();
-void AddCommandScripts();
-void AddWorldScripts();
-void AddEasternKingdomsScripts();
-void AddKalimdorScripts();
-void AddOutlandScripts();
-void AddNorthrendScripts();
-void AddMaelstromScripts();
-void AddEventScripts();
-void AddPetScripts();
-void AddBattlegroundScripts();
-void AddOutdoorPvPScripts();
-void AddCustomScripts();
#endif
diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt
index 53ec0af31cb..513bca94d4d 100644
--- a/src/server/scripts/CMakeLists.txt
+++ b/src/server/scripts/CMakeLists.txt
@@ -16,9 +16,15 @@ if (USE_SCRIPTPCH)
endif ()
message(STATUS "SCRIPT PREPARATIONS")
-include(Spells/CMakeLists.txt)
-include(Commands/CMakeLists.txt)
+macro(PrepareScripts name out)
+ file(GLOB_RECURSE found
+ ${name}/*.h
+ ${name}/*.cpp
+ )
+ list(APPEND ${out} ${found})
+ message(STATUS " -> Prepared: ${name}")
+endmacro(PrepareScripts)
set(scripts_STAT_SRCS
${scripts_STAT_SRCS}
@@ -27,17 +33,21 @@ set(scripts_STAT_SRCS
../game/AI/ScriptedAI/ScriptedFollowerAI.cpp
)
+PrepareScripts(Spells scripts_STAT_SRCS)
+PrepareScripts(Commands scripts_STAT_SRCS)
+
if(SCRIPTS)
- include(Custom/CMakeLists.txt)
- include(World/CMakeLists.txt)
- include(OutdoorPvP/CMakeLists.txt)
- include(EasternKingdoms/CMakeLists.txt)
- include(Kalimdor/CMakeLists.txt)
- include(Outland/CMakeLists.txt)
- include(Northrend/CMakeLists.txt)
- include(Maelstrom/CMakeLists.txt)
- include(Events/CMakeLists.txt)
- include(Pet/CMakeLists.txt)
+ PrepareScripts(Commands scripts_STAT_SRCS)
+ PrepareScripts(Custom scripts_STAT_SRCS)
+ PrepareScripts(World scripts_STAT_SRCS)
+ PrepareScripts(OutdoorPvP scripts_STAT_SRCS)
+ PrepareScripts(EasternKingdoms scripts_STAT_SRCS)
+ PrepareScripts(Kalimdor scripts_STAT_SRCS)
+ PrepareScripts(Outland scripts_STAT_SRCS)
+ PrepareScripts(Northrend scripts_STAT_SRCS)
+ PrepareScripts(Maelstrom scripts_STAT_SRCS)
+ PrepareScripts(Events scripts_STAT_SRCS)
+ PrepareScripts(Pet scripts_STAT_SRCS)
endif()
message(STATUS "SCRIPT PREPARATION COMPLETE")
diff --git a/src/server/scripts/Commands/CMakeLists.txt b/src/server/scripts/Commands/CMakeLists.txt
deleted file mode 100644
index d4d75cd175f..00000000000
--- a/src/server/scripts/Commands/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-file(GLOB_RECURSE sources_Commands Commands/*.cpp Commands/*.h)
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- ${sources_Commands}
-)
-
-message(" -> Prepared: Commands")
diff --git a/src/server/scripts/Commands/cs_script_loader.cpp b/src/server/scripts/Commands/cs_script_loader.cpp
new file mode 100644
index 00000000000..4e59ad13e95
--- /dev/null
+++ b/src/server/scripts/Commands/cs_script_loader.cpp
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+void AddSC_account_commandscript();
+void AddSC_achievement_commandscript();
+void AddSC_ahbot_commandscript();
+void AddSC_arena_commandscript();
+void AddSC_ban_commandscript();
+void AddSC_battlenet_account_commandscript();
+void AddSC_bf_commandscript();
+void AddSC_cast_commandscript();
+void AddSC_character_commandscript();
+void AddSC_cheat_commandscript();
+void AddSC_debug_commandscript();
+void AddSC_deserter_commandscript();
+void AddSC_disable_commandscript();
+void AddSC_event_commandscript();
+void AddSC_gm_commandscript();
+void AddSC_go_commandscript();
+void AddSC_gobject_commandscript();
+void AddSC_group_commandscript();
+void AddSC_guild_commandscript();
+void AddSC_honor_commandscript();
+void AddSC_instance_commandscript();
+void AddSC_learn_commandscript();
+void AddSC_lfg_commandscript();
+void AddSC_list_commandscript();
+void AddSC_lookup_commandscript();
+void AddSC_message_commandscript();
+void AddSC_misc_commandscript();
+void AddSC_mmaps_commandscript();
+void AddSC_modify_commandscript();
+void AddSC_npc_commandscript();
+void AddSC_pet_commandscript();
+void AddSC_quest_commandscript();
+void AddSC_rbac_commandscript();
+void AddSC_reload_commandscript();
+void AddSC_reset_commandscript();
+void AddSC_send_commandscript();
+void AddSC_server_commandscript();
+void AddSC_tele_commandscript();
+void AddSC_ticket_commandscript();
+void AddSC_titles_commandscript();
+void AddSC_wp_commandscript();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddCommandsScripts()
+{
+ AddSC_account_commandscript();
+ AddSC_achievement_commandscript();
+ AddSC_ahbot_commandscript();
+ AddSC_arena_commandscript();
+ AddSC_ban_commandscript();
+ AddSC_battlenet_account_commandscript();
+ AddSC_bf_commandscript();
+ AddSC_cast_commandscript();
+ AddSC_character_commandscript();
+ AddSC_cheat_commandscript();
+ AddSC_debug_commandscript();
+ AddSC_deserter_commandscript();
+ AddSC_disable_commandscript();
+ AddSC_event_commandscript();
+ AddSC_gm_commandscript();
+ AddSC_go_commandscript();
+ AddSC_gobject_commandscript();
+ AddSC_group_commandscript();
+ AddSC_guild_commandscript();
+ AddSC_honor_commandscript();
+ AddSC_instance_commandscript();
+ AddSC_learn_commandscript();
+ AddSC_lookup_commandscript();
+ AddSC_lfg_commandscript();
+ AddSC_list_commandscript();
+ AddSC_message_commandscript();
+ AddSC_misc_commandscript();
+ AddSC_mmaps_commandscript();
+ AddSC_modify_commandscript();
+ AddSC_npc_commandscript();
+ AddSC_quest_commandscript();
+ AddSC_pet_commandscript();
+ AddSC_rbac_commandscript();
+ AddSC_reload_commandscript();
+ AddSC_reset_commandscript();
+ AddSC_send_commandscript();
+ AddSC_server_commandscript();
+ AddSC_tele_commandscript();
+ AddSC_ticket_commandscript();
+ AddSC_titles_commandscript();
+ AddSC_wp_commandscript();
+}
diff --git a/src/server/scripts/Custom/CMakeLists.txt b/src/server/scripts/Custom/CMakeLists.txt
deleted file mode 100644
index 595ff801813..00000000000
--- a/src/server/scripts/Custom/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# file(GLOB_RECURSE sources_Custom Custom/*.cpp Custom/*.h)
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
-# ${sources_Custom}
-)
-
-message(" -> Prepared: Custom")
diff --git a/src/server/scripts/Custom/custom_script_loader.cpp b/src/server/scripts/Custom/custom_script_loader.cpp
new file mode 100644
index 00000000000..dd4b5e99d77
--- /dev/null
+++ b/src/server/scripts/Custom/custom_script_loader.cpp
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddCustomScripts()
+{
+}
diff --git a/src/server/scripts/EasternKingdoms/CMakeLists.txt b/src/server/scripts/EasternKingdoms/CMakeLists.txt
deleted file mode 100644
index a8fc011f70a..00000000000
--- a/src/server/scripts/EasternKingdoms/CMakeLists.txt
+++ /dev/null
@@ -1,212 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- EasternKingdoms/zone_ghostlands.cpp
- EasternKingdoms/AlteracValley/boss_galvangar.cpp
- EasternKingdoms/AlteracValley/boss_balinda.cpp
- EasternKingdoms/AlteracValley/boss_drekthar.cpp
- EasternKingdoms/AlteracValley/boss_vanndar.cpp
- EasternKingdoms/AlteracValley/alterac_valley.cpp
- EasternKingdoms/BaradinHold/boss_alizabal.cpp
- EasternKingdoms/BaradinHold/boss_occuthar.cpp
- EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp
- EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
- EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_romogg_bonecrusher.cpp
- EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_corla.cpp
- EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_karsh_steelbender.cpp
- EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_beauty.cpp
- EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_ascendant_lord_obsidius.cpp
- EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.cpp
- EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp
- EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.h
- EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
- EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
- EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
- EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
- EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
- EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
- EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
- EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
- EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
- EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
- EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
- EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
- EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
- EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
- EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
- EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
- EasternKingdoms/Scholomance/boss_the_ravenian.cpp
- EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
- EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
- EasternKingdoms/Scholomance/boss_illucia_barov.cpp
- EasternKingdoms/Scholomance/scholomance.h
- EasternKingdoms/Scholomance/boss_vectus.cpp
- EasternKingdoms/Scholomance/boss_jandice_barov.cpp
- EasternKingdoms/Scholomance/boss_kormok.cpp
- EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
- EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
- EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
- EasternKingdoms/Scholomance/instance_scholomance.cpp
- EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
- EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
- EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
- EasternKingdoms/zone_isle_of_queldanas.cpp
- EasternKingdoms/ZulGurub/boss_grilek.cpp
- EasternKingdoms/ZulGurub/boss_hazzarah.cpp
- EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp
- EasternKingdoms/ZulGurub/boss_kilnara.cpp
- EasternKingdoms/ZulGurub/boss_mandokir.cpp
- EasternKingdoms/ZulGurub/boss_renataki.cpp
- EasternKingdoms/ZulGurub/boss_venoxis.cpp
- EasternKingdoms/ZulGurub/boss_wushoolay.cpp
- EasternKingdoms/ZulGurub/boss_zanzil.cpp
- EasternKingdoms/ZulGurub/instance_zulgurub.cpp
- EasternKingdoms/ZulGurub/zulgurub.h
- EasternKingdoms/zone_wetlands.cpp
- EasternKingdoms/zone_arathi_highlands.cpp
- EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
- EasternKingdoms/Gnomeregan/gnomeregan.cpp
- EasternKingdoms/Gnomeregan/gnomeregan.h
- EasternKingdoms/zone_redridge_mountains.cpp
- EasternKingdoms/ScarletEnclave/chapter2.cpp
- EasternKingdoms/ScarletEnclave/chapter5.cpp
- EasternKingdoms/ScarletEnclave/chapter1.cpp
- EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
- EasternKingdoms/zone_eastern_plaguelands.cpp
- EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
- EasternKingdoms/Stratholme/boss_nerubenkan.cpp
- EasternKingdoms/Stratholme/instance_stratholme.cpp
- EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
- EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
- EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
- EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
- EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
- EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
- EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
- EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
- EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
- EasternKingdoms/Stratholme/stratholme.h
- EasternKingdoms/Stratholme/stratholme.cpp
- EasternKingdoms/zone_tirisfal_glades.cpp
- EasternKingdoms/SunkenTemple/sunken_temple.cpp
- EasternKingdoms/SunkenTemple/sunken_temple.h
- EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
- EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
- EasternKingdoms/MagistersTerrace/magisters_terrace.h
- EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
- EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
- EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
- EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
- EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
- EasternKingdoms/Uldaman/uldaman.cpp
- EasternKingdoms/Uldaman/boss_ironaya.cpp
- EasternKingdoms/Uldaman/uldaman.h
- EasternKingdoms/Uldaman/instance_uldaman.cpp
- EasternKingdoms/Uldaman/boss_archaedas.cpp
- EasternKingdoms/zone_swamp_of_sorrows.cpp
- EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
- EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
- EasternKingdoms/SunwellPlateau/sunwell_plateau.h
- EasternKingdoms/SunwellPlateau/boss_muru.cpp
- EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
- EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
- EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
- EasternKingdoms/SunwellPlateau/sunwell_plateau.cpp
- EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
- EasternKingdoms/zone_stranglethorn_vale.cpp
- EasternKingdoms/Deadmines/deadmines.h
- EasternKingdoms/Deadmines/deadmines.cpp
- EasternKingdoms/Deadmines/boss_mr_smite.cpp
- EasternKingdoms/Deadmines/instance_deadmines.cpp
- EasternKingdoms/zone_duskwood.cpp
- EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
- EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
- EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
- EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
- EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
- EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
- EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
- EasternKingdoms/ScarletMonastery/scarlet_monastery.h
- EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
- EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
- EasternKingdoms/ScarletMonastery/boss_herod.cpp
- EasternKingdoms/ScarletMonastery/boss_scorn.cpp
- EasternKingdoms/zone_undercity.cpp
- EasternKingdoms/zone_loch_modan.cpp
- EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
- EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
- EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
- EasternKingdoms/zone_burning_steppes.cpp
- EasternKingdoms/zone_blasted_lands.cpp
- EasternKingdoms/zone_stormwind_city.cpp
- EasternKingdoms/ZulAman/boss_halazzi.cpp
- EasternKingdoms/ZulAman/boss_hexlord.cpp
- EasternKingdoms/ZulAman/boss_daakara.cpp
- EasternKingdoms/ZulAman/boss_akilzon.cpp
- EasternKingdoms/ZulAman/instance_zulaman.cpp
- EasternKingdoms/ZulAman/boss_janalai.cpp
- EasternKingdoms/ZulAman/boss_nalorakk.cpp
- EasternKingdoms/ZulAman/zulaman.cpp
- EasternKingdoms/ZulAman/zulaman.h
- EasternKingdoms/zone_hinterlands.cpp
- EasternKingdoms/zone_western_plaguelands.cpp
- EasternKingdoms/zone_silverpine_forest.cpp
- EasternKingdoms/Karazhan/instance_karazhan.cpp
- EasternKingdoms/Karazhan/boss_nightbane.cpp
- EasternKingdoms/Karazhan/karazhan.cpp
- EasternKingdoms/Karazhan/boss_curator.cpp
- EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
- EasternKingdoms/Karazhan/boss_netherspite.cpp
- EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
- EasternKingdoms/Karazhan/boss_midnight.cpp
- EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
- EasternKingdoms/Karazhan/bosses_opera.cpp
- EasternKingdoms/Karazhan/boss_moroes.cpp
- EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
- EasternKingdoms/Karazhan/karazhan.h
- EasternKingdoms/TheStockade/instance_the_stockade.cpp
-)
-
-message(" -> Prepared: Eastern Kingdoms")
diff --git a/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp b/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
new file mode 100644
index 00000000000..adf7219d2a3
--- /dev/null
+++ b/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
@@ -0,0 +1,385 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+void AddSC_alterac_valley(); //Alterac Valley
+void AddSC_boss_balinda();
+void AddSC_boss_drekthar();
+void AddSC_boss_galvangar();
+void AddSC_boss_vanndar();
+void AddSC_boss_alizabal(); //Baradin Hold
+void AddSC_boss_occuthar();
+void AddSC_boss_pit_lord_argaloth();
+void AddSC_instance_baradin_hold();
+void AddSC_boss_romogg_bonecrusher(); //Blackrock Caverns
+void AddSC_boss_corla();
+void AddSC_boss_karsh_steelbender();
+void AddSC_boss_beauty();
+void AddSC_boss_ascendant_lord_obsidius();
+void AddSC_blackrock_caverns();
+void AddSC_instance_blackrock_caverns();
+void AddSC_blackrock_depths(); //Blackrock Depths
+void AddSC_boss_ambassador_flamelash();
+void AddSC_boss_draganthaurissan();
+void AddSC_boss_general_angerforge();
+void AddSC_boss_high_interrogator_gerstahn();
+void AddSC_boss_magmus();
+void AddSC_boss_moira_bronzebeard();
+void AddSC_boss_tomb_of_seven();
+void AddSC_instance_blackrock_depths();
+void AddSC_boss_drakkisath(); //Blackrock Spire
+void AddSC_boss_halycon();
+void AddSC_boss_highlordomokk();
+void AddSC_boss_mothersmolderweb();
+void AddSC_boss_overlordwyrmthalak();
+void AddSC_boss_shadowvosh();
+void AddSC_boss_thebeast();
+void AddSC_boss_warmastervoone();
+void AddSC_boss_quatermasterzigris();
+void AddSC_boss_pyroguard_emberseer();
+void AddSC_boss_gyth();
+void AddSC_boss_rend_blackhand();
+void AddSC_boss_gizrul_the_slavener();
+void AddSC_boss_urok_doomhowl();
+void AddSC_boss_lord_valthalak();
+void AddSC_instance_blackrock_spire();
+void AddSC_boss_razorgore(); //Blackwing lair
+void AddSC_boss_vaelastrasz();
+void AddSC_boss_broodlord();
+void AddSC_boss_firemaw();
+void AddSC_boss_ebonroc();
+void AddSC_boss_flamegor();
+void AddSC_boss_chromaggus();
+void AddSC_boss_nefarian();
+void AddSC_instance_blackwing_lair();
+void AddSC_deadmines(); //Deadmines
+void AddSC_instance_deadmines();
+void AddSC_boss_mr_smite();
+void AddSC_gnomeregan(); //Gnomeregan
+void AddSC_instance_gnomeregan();
+void AddSC_boss_attumen(); //Karazhan
+void AddSC_boss_curator();
+void AddSC_boss_maiden_of_virtue();
+void AddSC_boss_shade_of_aran();
+void AddSC_boss_malchezaar();
+void AddSC_boss_terestian_illhoof();
+void AddSC_boss_moroes();
+void AddSC_bosses_opera();
+void AddSC_boss_netherspite();
+void AddSC_instance_karazhan();
+void AddSC_karazhan();
+void AddSC_boss_nightbane();
+void AddSC_boss_felblood_kaelthas(); // Magister's Terrace
+void AddSC_boss_selin_fireheart();
+void AddSC_boss_vexallus();
+void AddSC_boss_priestess_delrissa();
+void AddSC_instance_magisters_terrace();
+void AddSC_magisters_terrace();
+void AddSC_boss_lucifron(); //Molten core
+void AddSC_boss_magmadar();
+void AddSC_boss_gehennas();
+void AddSC_boss_garr();
+void AddSC_boss_baron_geddon();
+void AddSC_boss_shazzrah();
+void AddSC_boss_golemagg();
+void AddSC_boss_sulfuron();
+void AddSC_boss_majordomo();
+void AddSC_boss_ragnaros();
+void AddSC_instance_molten_core();
+void AddSC_the_scarlet_enclave(); //Scarlet Enclave
+void AddSC_the_scarlet_enclave_c1();
+void AddSC_the_scarlet_enclave_c2();
+void AddSC_the_scarlet_enclave_c5();
+void AddSC_boss_arcanist_doan(); //Scarlet Monastery
+void AddSC_boss_azshir_the_sleepless();
+void AddSC_boss_bloodmage_thalnos();
+void AddSC_boss_headless_horseman();
+void AddSC_boss_herod();
+void AddSC_boss_high_inquisitor_fairbanks();
+void AddSC_boss_houndmaster_loksey();
+void AddSC_boss_interrogator_vishas();
+void AddSC_boss_scorn();
+void AddSC_instance_scarlet_monastery();
+void AddSC_boss_mograine_and_whitemane();
+void AddSC_boss_darkmaster_gandling(); //Scholomance
+void AddSC_boss_death_knight_darkreaver();
+void AddSC_boss_theolenkrastinov();
+void AddSC_boss_illuciabarov();
+void AddSC_boss_instructormalicia();
+void AddSC_boss_jandicebarov();
+void AddSC_boss_kormok();
+void AddSC_boss_lordalexeibarov();
+void AddSC_boss_lorekeeperpolkelt();
+void AddSC_boss_rasfrost();
+void AddSC_boss_theravenian();
+void AddSC_boss_vectus();
+void AddSC_boss_kirtonos_the_herald();
+void AddSC_instance_scholomance();
+void AddSC_shadowfang_keep(); //Shadowfang keep
+void AddSC_instance_shadowfang_keep();
+void AddSC_boss_magistrate_barthilas(); //Stratholme
+void AddSC_boss_maleki_the_pallid();
+void AddSC_boss_nerubenkan();
+void AddSC_boss_cannon_master_willey();
+void AddSC_boss_baroness_anastari();
+void AddSC_boss_ramstein_the_gorger();
+void AddSC_boss_timmy_the_cruel();
+void AddSC_boss_postmaster_malown();
+void AddSC_boss_baron_rivendare();
+void AddSC_boss_dathrohan_balnazzar();
+void AddSC_boss_order_of_silver_hand();
+void AddSC_instance_stratholme();
+void AddSC_stratholme();
+void AddSC_sunken_temple(); // Sunken Temple
+void AddSC_instance_sunken_temple();
+void AddSC_instance_sunwell_plateau(); //Sunwell Plateau
+void AddSC_boss_kalecgos();
+void AddSC_boss_brutallus();
+void AddSC_boss_felmyst();
+void AddSC_boss_eredar_twins();
+void AddSC_boss_muru();
+void AddSC_boss_kiljaeden();
+void AddSC_sunwell_plateau();
+void AddSC_boss_archaedas(); //Uldaman
+void AddSC_boss_ironaya();
+void AddSC_uldaman();
+void AddSC_instance_uldaman();
+void AddSC_instance_the_stockade(); //The Stockade
+void AddSC_boss_akilzon(); //Zul'Aman
+void AddSC_boss_halazzi();
+void AddSC_boss_hex_lord_malacrass();
+void AddSC_boss_janalai();
+void AddSC_boss_nalorakk();
+void AddSC_boss_daakara();
+void AddSC_instance_zulaman();
+void AddSC_zulaman();
+void AddSC_boss_grilek(); // Zul'Gurub
+void AddSC_boss_hazzarah();
+void AddSC_boss_jindo_the_godbreaker();
+void AddSC_boss_kilnara();
+void AddSC_boss_mandokir();
+void AddSC_boss_renataki();
+void AddSC_boss_venoxis();
+void AddSC_boss_wushoolay();
+void AddSC_boss_zanzil();
+void AddSC_instance_zulgurub();
+//void AddSC_alterac_mountains();
+void AddSC_arathi_highlands();
+void AddSC_blasted_lands();
+void AddSC_burning_steppes();
+void AddSC_duskwood();
+void AddSC_eastern_plaguelands();
+void AddSC_ghostlands();
+void AddSC_hinterlands();
+void AddSC_isle_of_queldanas();
+void AddSC_loch_modan();
+void AddSC_redridge_mountains();
+void AddSC_silverpine_forest();
+void AddSC_stormwind_city();
+void AddSC_stranglethorn_vale();
+void AddSC_swamp_of_sorrows();
+void AddSC_tirisfal_glades();
+void AddSC_undercity();
+void AddSC_western_plaguelands();
+void AddSC_wetlands();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddEasternKingdomsScripts()
+{
+ AddSC_alterac_valley(); //Alterac Valley
+ AddSC_boss_balinda();
+ AddSC_boss_drekthar();
+ AddSC_boss_galvangar();
+ AddSC_boss_vanndar();
+ AddSC_boss_alizabal(); //Baradin Hold
+ AddSC_boss_occuthar();
+ AddSC_boss_pit_lord_argaloth();
+ AddSC_instance_baradin_hold();
+ AddSC_boss_romogg_bonecrusher(); //Blackrock Caverns
+ AddSC_boss_corla();
+ AddSC_boss_karsh_steelbender();
+ AddSC_boss_beauty();
+ AddSC_boss_ascendant_lord_obsidius();
+ AddSC_blackrock_caverns();
+ AddSC_instance_blackrock_caverns();
+ AddSC_blackrock_depths(); //Blackrock Depths
+ AddSC_boss_ambassador_flamelash();
+ AddSC_boss_draganthaurissan();
+ AddSC_boss_general_angerforge();
+ AddSC_boss_high_interrogator_gerstahn();
+ AddSC_boss_magmus();
+ AddSC_boss_moira_bronzebeard();
+ AddSC_boss_tomb_of_seven();
+ AddSC_instance_blackrock_depths();
+ AddSC_boss_drakkisath(); //Blackrock Spire
+ AddSC_boss_halycon();
+ AddSC_boss_highlordomokk();
+ AddSC_boss_mothersmolderweb();
+ AddSC_boss_overlordwyrmthalak();
+ AddSC_boss_shadowvosh();
+ AddSC_boss_thebeast();
+ AddSC_boss_warmastervoone();
+ AddSC_boss_quatermasterzigris();
+ AddSC_boss_pyroguard_emberseer();
+ AddSC_boss_gyth();
+ AddSC_boss_rend_blackhand();
+ AddSC_boss_gizrul_the_slavener();
+ AddSC_boss_urok_doomhowl();
+ AddSC_boss_lord_valthalak();
+ AddSC_instance_blackrock_spire();
+ AddSC_boss_razorgore(); //Blackwing lair
+ AddSC_boss_vaelastrasz();
+ AddSC_boss_broodlord();
+ AddSC_boss_firemaw();
+ AddSC_boss_ebonroc();
+ AddSC_boss_flamegor();
+ AddSC_boss_chromaggus();
+ AddSC_boss_nefarian();
+ AddSC_instance_blackwing_lair();
+ AddSC_deadmines(); //Deadmines
+ AddSC_boss_mr_smite();
+ AddSC_instance_deadmines();
+ AddSC_gnomeregan(); //Gnomeregan
+ AddSC_instance_gnomeregan();
+ AddSC_boss_attumen(); //Karazhan
+ AddSC_boss_curator();
+ AddSC_boss_maiden_of_virtue();
+ AddSC_boss_shade_of_aran();
+ AddSC_boss_malchezaar();
+ AddSC_boss_terestian_illhoof();
+ AddSC_boss_moroes();
+ AddSC_bosses_opera();
+ AddSC_boss_netherspite();
+ AddSC_instance_karazhan();
+ AddSC_karazhan();
+ AddSC_boss_nightbane();
+ AddSC_boss_felblood_kaelthas(); // Magister's Terrace
+ AddSC_boss_selin_fireheart();
+ AddSC_boss_vexallus();
+ AddSC_boss_priestess_delrissa();
+ AddSC_instance_magisters_terrace();
+ AddSC_magisters_terrace();
+ AddSC_boss_lucifron(); //Molten core
+ AddSC_boss_magmadar();
+ AddSC_boss_gehennas();
+ AddSC_boss_garr();
+ AddSC_boss_baron_geddon();
+ AddSC_boss_shazzrah();
+ AddSC_boss_golemagg();
+ AddSC_boss_sulfuron();
+ AddSC_boss_majordomo();
+ AddSC_boss_ragnaros();
+ AddSC_instance_molten_core();
+ AddSC_the_scarlet_enclave(); //Scarlet Enclave
+ AddSC_the_scarlet_enclave_c1();
+ AddSC_the_scarlet_enclave_c2();
+ AddSC_the_scarlet_enclave_c5();
+ AddSC_boss_arcanist_doan(); //Scarlet Monastery
+ AddSC_boss_azshir_the_sleepless();
+ AddSC_boss_bloodmage_thalnos();
+ AddSC_boss_headless_horseman();
+ AddSC_boss_herod();
+ AddSC_boss_high_inquisitor_fairbanks();
+ AddSC_boss_houndmaster_loksey();
+ AddSC_boss_interrogator_vishas();
+ AddSC_boss_scorn();
+ AddSC_instance_scarlet_monastery();
+ AddSC_boss_mograine_and_whitemane();
+ AddSC_boss_darkmaster_gandling(); //Scholomance
+ AddSC_boss_death_knight_darkreaver();
+ AddSC_boss_theolenkrastinov();
+ AddSC_boss_illuciabarov();
+ AddSC_boss_instructormalicia();
+ AddSC_boss_jandicebarov();
+ AddSC_boss_kormok();
+ AddSC_boss_lordalexeibarov();
+ AddSC_boss_lorekeeperpolkelt();
+ AddSC_boss_rasfrost();
+ AddSC_boss_theravenian();
+ AddSC_boss_vectus();
+ AddSC_boss_kirtonos_the_herald();
+ AddSC_instance_scholomance();
+ AddSC_shadowfang_keep(); //Shadowfang keep
+ AddSC_instance_shadowfang_keep();
+ AddSC_boss_magistrate_barthilas(); //Stratholme
+ AddSC_boss_maleki_the_pallid();
+ AddSC_boss_nerubenkan();
+ AddSC_boss_cannon_master_willey();
+ AddSC_boss_baroness_anastari();
+ AddSC_boss_ramstein_the_gorger();
+ AddSC_boss_timmy_the_cruel();
+ AddSC_boss_postmaster_malown();
+ AddSC_boss_baron_rivendare();
+ AddSC_boss_dathrohan_balnazzar();
+ AddSC_boss_order_of_silver_hand();
+ AddSC_instance_stratholme();
+ AddSC_stratholme();
+ AddSC_sunken_temple(); // Sunken Temple
+ AddSC_instance_sunken_temple();
+ AddSC_instance_sunwell_plateau(); //Sunwell Plateau
+ AddSC_boss_kalecgos();
+ AddSC_boss_brutallus();
+ AddSC_boss_felmyst();
+ AddSC_boss_eredar_twins();
+ AddSC_boss_muru();
+ AddSC_boss_kiljaeden();
+ AddSC_sunwell_plateau();
+ AddSC_instance_the_stockade(); //The Stockade
+ AddSC_boss_archaedas(); //Uldaman
+ AddSC_boss_ironaya();
+ AddSC_uldaman();
+ AddSC_instance_uldaman();
+ AddSC_boss_akilzon(); //Zul'Aman
+ AddSC_boss_halazzi();
+ AddSC_boss_hex_lord_malacrass();
+ AddSC_boss_janalai();
+ AddSC_boss_nalorakk();
+ AddSC_boss_daakara();
+ AddSC_instance_zulaman();
+ AddSC_zulaman();
+ AddSC_boss_grilek(); // Zul'Gurub
+ AddSC_boss_hazzarah();
+ AddSC_boss_jindo_the_godbreaker();
+ AddSC_boss_kilnara();
+ AddSC_boss_mandokir();
+ AddSC_boss_renataki();
+ AddSC_boss_venoxis();
+ AddSC_boss_wushoolay();
+ AddSC_boss_zanzil();
+ AddSC_instance_zulgurub();
+
+ //AddSC_alterac_mountains();
+ AddSC_arathi_highlands();
+ AddSC_blasted_lands();
+ AddSC_burning_steppes();
+ AddSC_duskwood();
+ AddSC_eastern_plaguelands();
+ AddSC_ghostlands();
+ AddSC_hinterlands();
+ AddSC_isle_of_queldanas();
+ AddSC_loch_modan();
+ AddSC_redridge_mountains();
+ AddSC_silverpine_forest();
+ AddSC_stormwind_city();
+ AddSC_stranglethorn_vale();
+ AddSC_swamp_of_sorrows();
+ AddSC_tirisfal_glades();
+ AddSC_undercity();
+ AddSC_western_plaguelands();
+ AddSC_wetlands();
+}
diff --git a/src/server/scripts/Events/CMakeLists.txt b/src/server/scripts/Events/CMakeLists.txt
deleted file mode 100644
index 1c9e5cfe8e1..00000000000
--- a/src/server/scripts/Events/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-file(GLOB_RECURSE sources_Events Events/*.cpp Events/*.h)
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- ${sources_Events}
-)
-
-message(" -> Prepared: Events")
diff --git a/src/server/scripts/Events/events_script_loader.cpp b/src/server/scripts/Events/events_script_loader.cpp
new file mode 100644
index 00000000000..625c08f5389
--- /dev/null
+++ b/src/server/scripts/Events/events_script_loader.cpp
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+void AddSC_event_childrens_week();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddEventsScripts()
+{
+ AddSC_event_childrens_week();
+}
diff --git a/src/server/scripts/Kalimdor/CMakeLists.txt b/src/server/scripts/Kalimdor/CMakeLists.txt
deleted file mode 100644
index d71d14c50d1..00000000000
--- a/src/server/scripts/Kalimdor/CMakeLists.txt
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- Kalimdor/zone_stonetalon_mountains.cpp
- Kalimdor/zone_silithus.cpp
- Kalimdor/zone_moonglade.cpp
- Kalimdor/RazorfenDowns/razorfen_downs.cpp
- Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
- Kalimdor/RazorfenDowns/boss_tuten_kash.cpp
- Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp
- Kalimdor/RazorfenDowns/boss_glutton.cpp
- Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
- Kalimdor/RazorfenDowns/razorfen_downs.h
- Kalimdor/ZulFarrak/zulfarrak.cpp
- Kalimdor/ZulFarrak/instance_zulfarrak.cpp
- Kalimdor/ZulFarrak/boss_zum_rah.cpp
- Kalimdor/ZulFarrak/zulfarrak.h
- Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
- Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.h
- Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
- Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
- Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
- Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
- Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
- Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
- Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h
- Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
- Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
- Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
- Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
- Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
- Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
- Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h
- Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
- Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
- Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
- Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
- Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
- Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
- Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
- Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
- Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
- Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.h
- Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h
- Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
- Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
- Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
- Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
- Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
- Kalimdor/BlackfathomDeeps/boss_kelris.cpp
- Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
- Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
- Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
- Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
- Kalimdor/BlackfathomDeeps/blackfathom_deeps.h
- Kalimdor/zone_azuremyst_isle.cpp
- Kalimdor/zone_orgrimmar.cpp
- Kalimdor/zone_desolace.cpp
- Kalimdor/zone_feralas.cpp
- Kalimdor/Maraudon/boss_princess_theradras.cpp
- Kalimdor/Maraudon/boss_landslide.cpp
- Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
- Kalimdor/Maraudon/boss_noxxion.cpp
- Kalimdor/Maraudon/instance_maraudon.cpp
- Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
- Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
- Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
- Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
- Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
- Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
- Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
- Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
- Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h
- Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
- Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
- Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
- Kalimdor/zone_darkshore.cpp
- Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
- Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
- Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
- Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
- Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
- Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
- Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h
- Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
- Kalimdor/zone_bloodmyst_isle.cpp
- Kalimdor/zone_thunder_bluff.cpp
- Kalimdor/zone_azshara.cpp
- Kalimdor/RazorfenKraul/razorfen_kraul.h
- Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
- Kalimdor/RazorfenKraul/razorfen_kraul.cpp
- Kalimdor/zone_the_barrens.cpp
- Kalimdor/zone_ungoro_crater.cpp
- Kalimdor/WailingCaverns/wailing_caverns.h
- Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
- Kalimdor/WailingCaverns/wailing_caverns.cpp
- Kalimdor/zone_durotar.cpp
- Kalimdor/zone_felwood.cpp
- Kalimdor/zone_tanaris.cpp
- Kalimdor/zone_dustwallow_marsh.cpp
- Kalimdor/zone_winterspring.cpp
- Kalimdor/zone_thousand_needles.cpp
- Kalimdor/zone_ashenvale.cpp
- Kalimdor/zone_teldrassil.cpp
- Kalimdor/OnyxiasLair/boss_onyxia.cpp
- Kalimdor/OnyxiasLair/onyxias_lair.h
- Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
- Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp
- Kalimdor/DireMaul/instance_dire_maul.cpp
- Kalimdor/HallsOfOrigination/halls_of_origination.h
- Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
- Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
- Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp
- Kalimdor/HallsOfOrigination/boss_anraphet.cpp
- Kalimdor/Firelands/instance_firelands.cpp
- Kalimdor/Firelands/firelands.h
- Kalimdor/Firelands/boss_alysrazor.cpp
-)
-
-message(" -> Prepared: Kalimdor")
diff --git a/src/server/scripts/Kalimdor/kalimdor_script_loader.cpp b/src/server/scripts/Kalimdor/kalimdor_script_loader.cpp
new file mode 100644
index 00000000000..0a19ecb54e8
--- /dev/null
+++ b/src/server/scripts/Kalimdor/kalimdor_script_loader.cpp
@@ -0,0 +1,222 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+void AddSC_blackfathom_deeps(); //Blackfathom Depths
+void AddSC_boss_gelihast();
+void AddSC_boss_kelris();
+void AddSC_boss_aku_mai();
+void AddSC_instance_blackfathom_deeps();
+void AddSC_hyjal(); //CoT Battle for Mt. Hyjal
+void AddSC_boss_archimonde();
+void AddSC_instance_mount_hyjal();
+void AddSC_hyjal_trash();
+void AddSC_boss_rage_winterchill();
+void AddSC_boss_anetheron();
+void AddSC_boss_kazrogal();
+void AddSC_boss_azgalor();
+void AddSC_boss_captain_skarloc(); //CoT Old Hillsbrad
+void AddSC_boss_epoch_hunter();
+void AddSC_boss_lieutenant_drake();
+void AddSC_instance_old_hillsbrad();
+void AddSC_old_hillsbrad();
+void AddSC_boss_aeonus(); //CoT The Black Morass
+void AddSC_boss_chrono_lord_deja();
+void AddSC_boss_temporus();
+void AddSC_the_black_morass();
+void AddSC_instance_the_black_morass();
+void AddSC_boss_epoch(); //CoT Culling Of Stratholme
+void AddSC_boss_infinite_corruptor();
+void AddSC_boss_salramm();
+void AddSC_boss_mal_ganis();
+void AddSC_boss_meathook();
+void AddSC_culling_of_stratholme();
+void AddSC_instance_culling_of_stratholme();
+void AddSC_instance_dire_maul(); //Dire Maul
+void AddSC_boss_celebras_the_cursed(); //Maraudon
+void AddSC_boss_landslide();
+void AddSC_boss_noxxion();
+void AddSC_boss_ptheradras();
+void AddSC_instance_maraudon();
+void AddSC_boss_onyxia(); //Onyxia's Lair
+void AddSC_instance_onyxias_lair();
+void AddSC_instance_ragefire_chasm(); //Ragefire Chasm
+void AddSC_boss_tuten_kash(); //Razorfen Downs
+void AddSC_boss_mordresh_fire_eye();
+void AddSC_boss_glutton();
+void AddSC_boss_amnennar_the_coldbringer();
+void AddSC_razorfen_downs();
+void AddSC_instance_razorfen_downs();
+void AddSC_razorfen_kraul(); //Razorfen Kraul
+void AddSC_instance_razorfen_kraul();
+void AddSC_boss_kurinnaxx(); //Ruins of ahn'qiraj
+void AddSC_boss_rajaxx();
+void AddSC_boss_moam();
+void AddSC_boss_buru();
+void AddSC_boss_ayamiss();
+void AddSC_boss_ossirian();
+void AddSC_instance_ruins_of_ahnqiraj();
+void AddSC_boss_cthun(); //Temple of ahn'qiraj
+void AddSC_boss_viscidus();
+void AddSC_boss_fankriss();
+void AddSC_boss_huhuran();
+void AddSC_bug_trio();
+void AddSC_boss_sartura();
+void AddSC_boss_skeram();
+void AddSC_boss_twinemperors();
+void AddSC_boss_ouro();
+void AddSC_npc_anubisath_sentinel();
+void AddSC_instance_temple_of_ahnqiraj();
+void AddSC_wailing_caverns(); //Wailing caverns
+void AddSC_instance_wailing_caverns();
+void AddSC_boss_zum_rah(); //Zul'Farrak
+void AddSC_zulfarrak();
+void AddSC_instance_zulfarrak();
+void AddSC_instance_halls_of_origination();
+void AddSC_boss_temple_guardian_anhuur();
+void AddSC_boss_earthrager_ptah();
+void AddSC_boss_anraphet();
+void AddSC_instance_firelands();
+void AddSC_boss_alysrazor();
+
+void AddSC_ashenvale();
+void AddSC_azshara();
+void AddSC_azuremyst_isle();
+void AddSC_bloodmyst_isle();
+void AddSC_darkshore();
+void AddSC_desolace();
+void AddSC_durotar();
+void AddSC_dustwallow_marsh();
+void AddSC_felwood();
+void AddSC_feralas();
+void AddSC_moonglade();
+void AddSC_orgrimmar();
+void AddSC_silithus();
+void AddSC_stonetalon_mountains();
+void AddSC_tanaris();
+void AddSC_teldrassil();
+void AddSC_the_barrens();
+void AddSC_thousand_needles();
+void AddSC_thunder_bluff();
+void AddSC_ungoro_crater();
+void AddSC_winterspring();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddKalimdorScripts()
+{
+ AddSC_blackfathom_deeps(); //Blackfathom Depths
+ AddSC_boss_gelihast();
+ AddSC_boss_kelris();
+ AddSC_boss_aku_mai();
+ AddSC_instance_blackfathom_deeps();
+ AddSC_hyjal(); //CoT Battle for Mt. Hyjal
+ AddSC_boss_archimonde();
+ AddSC_instance_mount_hyjal();
+ AddSC_hyjal_trash();
+ AddSC_boss_rage_winterchill();
+ AddSC_boss_anetheron();
+ AddSC_boss_kazrogal();
+ AddSC_boss_azgalor();
+ AddSC_boss_captain_skarloc(); //CoT Old Hillsbrad
+ AddSC_boss_epoch_hunter();
+ AddSC_boss_lieutenant_drake();
+ AddSC_instance_old_hillsbrad();
+ AddSC_old_hillsbrad();
+ AddSC_boss_aeonus(); //CoT The Black Morass
+ AddSC_boss_chrono_lord_deja();
+ AddSC_boss_temporus();
+ AddSC_the_black_morass();
+ AddSC_instance_the_black_morass();
+ AddSC_boss_epoch(); //CoT Culling Of Stratholme
+ AddSC_boss_infinite_corruptor();
+ AddSC_boss_salramm();
+ AddSC_boss_mal_ganis();
+ AddSC_boss_meathook();
+ AddSC_culling_of_stratholme();
+ AddSC_instance_culling_of_stratholme();
+ AddSC_instance_dire_maul(); //Dire Maul
+ AddSC_boss_celebras_the_cursed(); //Maraudon
+ AddSC_boss_landslide();
+ AddSC_boss_noxxion();
+ AddSC_boss_ptheradras();
+ AddSC_instance_maraudon();
+ AddSC_boss_onyxia(); //Onyxia's Lair
+ AddSC_instance_onyxias_lair();
+ AddSC_instance_ragefire_chasm(); //Ragefire Chasm
+ AddSC_boss_tuten_kash(); //Razorfen Downs
+ AddSC_boss_mordresh_fire_eye();
+ AddSC_boss_glutton();
+ AddSC_boss_amnennar_the_coldbringer();
+ AddSC_razorfen_downs();
+ AddSC_instance_razorfen_downs();
+ AddSC_razorfen_kraul(); //Razorfen Kraul
+ AddSC_instance_razorfen_kraul();
+ AddSC_boss_kurinnaxx(); //Ruins of ahn'qiraj
+ AddSC_boss_rajaxx();
+ AddSC_boss_moam();
+ AddSC_boss_buru();
+ AddSC_boss_ayamiss();
+ AddSC_boss_ossirian();
+ AddSC_instance_ruins_of_ahnqiraj();
+ AddSC_boss_cthun(); //Temple of ahn'qiraj
+ AddSC_boss_viscidus();
+ AddSC_boss_fankriss();
+ AddSC_boss_huhuran();
+ AddSC_bug_trio();
+ AddSC_boss_sartura();
+ AddSC_boss_skeram();
+ AddSC_boss_twinemperors();
+ AddSC_boss_ouro();
+ AddSC_npc_anubisath_sentinel();
+ AddSC_instance_temple_of_ahnqiraj();
+ AddSC_wailing_caverns(); //Wailing caverns
+ AddSC_instance_wailing_caverns();
+ AddSC_boss_zum_rah(); //Zul'Farrak
+ AddSC_zulfarrak();
+ AddSC_instance_zulfarrak();
+
+ AddSC_ashenvale();
+ AddSC_azshara();
+ AddSC_azuremyst_isle();
+ AddSC_bloodmyst_isle();
+ AddSC_darkshore();
+ AddSC_desolace();
+ AddSC_durotar();
+ AddSC_dustwallow_marsh();
+ AddSC_felwood();
+ AddSC_feralas();
+ AddSC_moonglade();
+ AddSC_orgrimmar();
+ AddSC_silithus();
+ AddSC_stonetalon_mountains();
+ AddSC_tanaris();
+ AddSC_teldrassil();
+ AddSC_the_barrens();
+ AddSC_thousand_needles();
+ AddSC_thunder_bluff();
+ AddSC_ungoro_crater();
+ AddSC_winterspring();
+
+ AddSC_instance_halls_of_origination();
+ AddSC_boss_temple_guardian_anhuur();
+ AddSC_boss_earthrager_ptah();
+ AddSC_boss_anraphet();
+
+ AddSC_instance_firelands();
+ AddSC_boss_alysrazor();
+}
diff --git a/src/server/scripts/Maelstrom/CMakeLists.txt b/src/server/scripts/Maelstrom/CMakeLists.txt
deleted file mode 100644
index 8d3f1ee1c69..00000000000
--- a/src/server/scripts/Maelstrom/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- Maelstrom/kezan.cpp
- Maelstrom/Stonecore/instance_stonecore.cpp
- Maelstrom/Stonecore/stonecore.cpp
- Maelstrom/Stonecore/stonecore.h
- Maelstrom/Stonecore/boss_corborus.cpp
- Maelstrom/Stonecore/boss_slabhide.cpp
- Maelstrom/Stonecore/boss_ozruk.cpp
- Maelstrom/Stonecore/boss_high_priestess_azil.cpp
-)
-
-message(" -> Prepared: The Maelstrom")
diff --git a/src/server/scripts/Maelstrom/maelstrom_script_loader.cpp b/src/server/scripts/Maelstrom/maelstrom_script_loader.cpp
new file mode 100644
index 00000000000..5e4c2d4b98b
--- /dev/null
+++ b/src/server/scripts/Maelstrom/maelstrom_script_loader.cpp
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+void AddSC_kezan();
+void AddSC_instance_stonecore(); // Stonecore
+void AddSC_stonecore();
+void AddSC_boss_corborus();
+void AddSC_boss_slabhide();
+void AddSC_boss_ozruk();
+void AddSC_boss_high_priestess_azil();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddMaelstromScripts()
+{
+ AddSC_kezan();
+ AddSC_instance_stonecore(); // Stonecore
+ AddSC_stonecore();
+ AddSC_boss_corborus();
+ AddSC_boss_slabhide();
+ AddSC_boss_ozruk();
+ AddSC_boss_high_priestess_azil();
+}
diff --git a/src/server/scripts/Northrend/CMakeLists.txt b/src/server/scripts/Northrend/CMakeLists.txt
deleted file mode 100644
index 1dc453ad416..00000000000
--- a/src/server/scripts/Northrend/CMakeLists.txt
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- Northrend/zone_wintergrasp.cpp
- Northrend/isle_of_conquest.cpp
- Northrend/zone_storm_peaks.cpp
- Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp
- Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
- Northrend/Ulduar/HallsOfLightning/halls_of_lightning.h
- Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
- Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
- Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
- Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
- Northrend/Ulduar/Ulduar/boss_thorim.cpp
- Northrend/Ulduar/Ulduar/boss_ignis.cpp
- Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
- Northrend/Ulduar/Ulduar/instance_ulduar.cpp
- Northrend/Ulduar/Ulduar/boss_auriaya.cpp
- Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
- Northrend/Ulduar/Ulduar/boss_hodir.cpp
- Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
- Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
- Northrend/Ulduar/Ulduar/boss_xt002.cpp
- Northrend/Ulduar/Ulduar/boss_mimiron.cpp
- Northrend/Ulduar/Ulduar/ulduar.h
- Northrend/Ulduar/Ulduar/boss_freya.cpp
- Northrend/Ulduar/Ulduar/boss_razorscale.cpp
- Northrend/Ulduar/Ulduar/boss_kologarn.cpp
- Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
- Northrend/Ulduar/HallsOfStone/halls_of_stone.h
- Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
- Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp
- Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
- Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
- Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
- Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.h
- Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
- Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
- Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
- Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h
- Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
- Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
- Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
- Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
- Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
- Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
- Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
- Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
- Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
- Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
- Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
- Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
- Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
- Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
- Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h
- Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
- Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
- Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
- Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
- Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
- Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h
- Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
- Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
- Northrend/Nexus/EyeOfEternity/eye_of_eternity.h
- Northrend/Nexus/Oculus/boss_eregos.cpp
- Northrend/Nexus/Oculus/boss_drakos.cpp
- Northrend/Nexus/Oculus/oculus.h
- Northrend/Nexus/Oculus/boss_varos.cpp
- Northrend/Nexus/Oculus/boss_urom.cpp
- Northrend/Nexus/Oculus/oculus.cpp
- Northrend/Nexus/Oculus/instance_oculus.cpp
- Northrend/Nexus/Nexus/boss_nexus_commanders.cpp
- Northrend/Nexus/Nexus/boss_ormorok.cpp
- Northrend/Nexus/Nexus/boss_magus_telestra.cpp
- Northrend/Nexus/Nexus/instance_nexus.cpp
- Northrend/Nexus/Nexus/boss_keristrasza.cpp
- Northrend/Nexus/Nexus/boss_anomalus.cpp
- Northrend/Nexus/Nexus/nexus.h
- Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
- Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
- Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
- Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
- Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
- Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
- Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
- Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
- Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h
- Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp
- Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
- Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
- Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
- Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
- Northrend/Naxxramas/boss_loatheb.cpp
- Northrend/Naxxramas/boss_anubrekhan.cpp
- Northrend/Naxxramas/boss_maexxna.cpp
- Northrend/Naxxramas/boss_patchwerk.cpp
- Northrend/Naxxramas/boss_gothik.cpp
- Northrend/Naxxramas/boss_faerlina.cpp
- Northrend/Naxxramas/boss_gluth.cpp
- Northrend/Naxxramas/boss_four_horsemen.cpp
- Northrend/Naxxramas/naxxramas.h
- Northrend/Naxxramas/boss_kelthuzad.cpp
- Northrend/Naxxramas/boss_heigan.cpp
- Northrend/Naxxramas/boss_thaddius.cpp
- Northrend/Naxxramas/boss_razuvious.cpp
- Northrend/Naxxramas/boss_sapphiron.cpp
- Northrend/Naxxramas/instance_naxxramas.cpp
- Northrend/Naxxramas/boss_grobbulus.cpp
- Northrend/Naxxramas/boss_noth.cpp
- Northrend/zone_crystalsong_forest.cpp
- Northrend/VaultOfArchavon/boss_archavon.cpp
- Northrend/VaultOfArchavon/boss_koralon.cpp
- Northrend/VaultOfArchavon/vault_of_archavon.h
- Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp
- Northrend/VaultOfArchavon/boss_emalon.cpp
- Northrend/VaultOfArchavon/boss_toravon.cpp
- Northrend/zone_sholazar_basin.cpp
- Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
- Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
- Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
- Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
- Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
- Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h
- Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
- Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
- Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h
- Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
- Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
- Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
- Northrend/zone_dragonblight.cpp
- Northrend/zone_grizzly_hills.cpp
- Northrend/AzjolNerub/AzjolNerub/azjol_nerub.h
- Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
- Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
- Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
- Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
- Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
- Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
- Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
- Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
- Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
- Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
- Northrend/AzjolNerub/Ahnkahet/ahnkahet.h
- Northrend/VioletHold/boss_zuramat.cpp
- Northrend/VioletHold/instance_violet_hold.cpp
- Northrend/VioletHold/boss_lavanthor.cpp
- Northrend/VioletHold/boss_cyanigosa.cpp
- Northrend/VioletHold/violet_hold.h
- Northrend/VioletHold/boss_ichoron.cpp
- Northrend/VioletHold/boss_moragg.cpp
- Northrend/VioletHold/boss_xevozz.cpp
- Northrend/VioletHold/boss_erekem.cpp
- Northrend/VioletHold/violet_hold.cpp
- Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
- Northrend/IcecrownCitadel/icecrown_citadel.cpp
- Northrend/IcecrownCitadel/icecrown_citadel.h
- Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
- Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
- Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
- Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
- Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
- Northrend/IcecrownCitadel/boss_festergut.cpp
- Northrend/IcecrownCitadel/boss_rotface.cpp
- Northrend/IcecrownCitadel/boss_professor_putricide.cpp
- Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
- Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
- Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
- Northrend/IcecrownCitadel/boss_sindragosa.cpp
- Northrend/IcecrownCitadel/boss_the_lich_king.cpp
- Northrend/zone_zuldrak.cpp
- Northrend/zone_icecrown.cpp
- Northrend/Gundrak/boss_slad_ran.cpp
- Northrend/Gundrak/instance_gundrak.cpp
- Northrend/Gundrak/boss_drakkari_colossus.cpp
- Northrend/Gundrak/gundrak.h
- Northrend/Gundrak/boss_gal_darah.cpp
- Northrend/Gundrak/boss_moorabi.cpp
- Northrend/Gundrak/boss_eck.cpp
- Northrend/zone_borean_tundra.cpp
- Northrend/zone_howling_fjord.cpp
- Northrend/zone_dalaran.cpp
- Northrend/DraktharonKeep/boss_trollgore.cpp
- Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
- Northrend/DraktharonKeep/boss_novos.cpp
- Northrend/DraktharonKeep/drak_tharon_keep.h
- Northrend/DraktharonKeep/boss_tharon_ja.cpp
- Northrend/DraktharonKeep/boss_king_dred.cpp
-)
-
-message(" -> Prepared: Northrend")
diff --git a/src/server/scripts/Northrend/northrend_script_loader.cpp b/src/server/scripts/Northrend/northrend_script_loader.cpp
new file mode 100644
index 00000000000..7d104b85f6d
--- /dev/null
+++ b/src/server/scripts/Northrend/northrend_script_loader.cpp
@@ -0,0 +1,374 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+void AddSC_boss_slad_ran();
+void AddSC_boss_moorabi();
+void AddSC_boss_drakkari_colossus();
+void AddSC_boss_gal_darah();
+void AddSC_boss_eck();
+void AddSC_instance_gundrak();
+
+// Azjol-Nerub - Azjol-Nerub
+void AddSC_boss_krik_thir();
+void AddSC_boss_hadronox();
+void AddSC_boss_anub_arak();
+void AddSC_instance_azjol_nerub();
+
+// Azjol-Nerub - Ahn'kahet
+void AddSC_boss_elder_nadox();
+void AddSC_boss_taldaram();
+void AddSC_boss_amanitar();
+void AddSC_boss_jedoga_shadowseeker();
+void AddSC_boss_volazj();
+void AddSC_instance_ahnkahet();
+
+// Drak'Tharon Keep
+void AddSC_boss_trollgore();
+void AddSC_boss_novos();
+void AddSC_boss_king_dred();
+void AddSC_boss_tharon_ja();
+void AddSC_instance_drak_tharon_keep();
+
+void AddSC_boss_argent_challenge(); //Trial of the Champion
+void AddSC_boss_black_knight();
+void AddSC_boss_grand_champions();
+void AddSC_instance_trial_of_the_champion();
+void AddSC_trial_of_the_champion();
+void AddSC_boss_anubarak_trial(); //Trial of the Crusader
+void AddSC_boss_faction_champions();
+void AddSC_boss_jaraxxus();
+void AddSC_boss_northrend_beasts();
+void AddSC_boss_twin_valkyr();
+void AddSC_trial_of_the_crusader();
+void AddSC_instance_trial_of_the_crusader();
+void AddSC_boss_anubrekhan(); //Naxxramas
+void AddSC_boss_maexxna();
+void AddSC_boss_patchwerk();
+void AddSC_boss_grobbulus();
+void AddSC_boss_razuvious();
+void AddSC_boss_kelthuzad();
+void AddSC_boss_loatheb();
+void AddSC_boss_noth();
+void AddSC_boss_gluth();
+void AddSC_boss_sapphiron();
+void AddSC_boss_four_horsemen();
+void AddSC_boss_faerlina();
+void AddSC_boss_heigan();
+void AddSC_boss_gothik();
+void AddSC_boss_thaddius();
+void AddSC_instance_naxxramas();
+void AddSC_boss_nexus_commanders(); // The Nexus Nexus
+void AddSC_boss_magus_telestra();
+void AddSC_boss_anomalus();
+void AddSC_boss_ormorok();
+void AddSC_boss_keristrasza();
+void AddSC_instance_nexus();
+void AddSC_boss_drakos(); //The Nexus The Oculus
+void AddSC_boss_urom();
+void AddSC_boss_varos();
+void AddSC_boss_eregos();
+void AddSC_instance_oculus();
+void AddSC_oculus();
+void AddSC_boss_malygos(); // The Nexus: Eye of Eternity
+void AddSC_instance_eye_of_eternity();
+void AddSC_boss_sartharion(); //Obsidian Sanctum
+void AddSC_obsidian_sanctum();
+void AddSC_instance_obsidian_sanctum();
+void AddSC_boss_bjarngrim(); //Ulduar Halls of Lightning
+void AddSC_boss_loken();
+void AddSC_boss_ionar();
+void AddSC_boss_volkhan();
+void AddSC_instance_halls_of_lightning();
+void AddSC_boss_maiden_of_grief(); //Ulduar Halls of Stone
+void AddSC_boss_krystallus();
+void AddSC_boss_sjonnir();
+void AddSC_instance_halls_of_stone();
+void AddSC_halls_of_stone();
+void AddSC_boss_auriaya(); //Ulduar Ulduar
+void AddSC_boss_flame_leviathan();
+void AddSC_boss_ignis();
+void AddSC_boss_razorscale();
+void AddSC_boss_xt002();
+void AddSC_boss_kologarn();
+void AddSC_boss_assembly_of_iron();
+void AddSC_boss_general_vezax();
+void AddSC_boss_mimiron();
+void AddSC_boss_hodir();
+void AddSC_boss_freya();
+void AddSC_boss_yogg_saron();
+void AddSC_boss_algalon_the_observer();
+void AddSC_instance_ulduar();
+
+// Utgarde Keep - Utgarde Keep
+void AddSC_boss_keleseth();
+void AddSC_boss_skarvald_dalronn();
+void AddSC_boss_ingvar_the_plunderer();
+void AddSC_instance_utgarde_keep();
+void AddSC_utgarde_keep();
+
+// Utgarde Keep - Utgarde Pinnacle
+void AddSC_boss_svala();
+void AddSC_boss_palehoof();
+void AddSC_boss_skadi();
+void AddSC_boss_ymiron();
+void AddSC_instance_utgarde_pinnacle();
+
+// Vault of Archavon
+void AddSC_boss_archavon();
+void AddSC_boss_emalon();
+void AddSC_boss_koralon();
+void AddSC_boss_toravon();
+void AddSC_instance_vault_of_archavon();
+
+void AddSC_boss_cyanigosa(); //Violet Hold
+void AddSC_boss_erekem();
+void AddSC_boss_ichoron();
+void AddSC_boss_lavanthor();
+void AddSC_boss_moragg();
+void AddSC_boss_xevozz();
+void AddSC_boss_zuramat();
+void AddSC_instance_violet_hold();
+void AddSC_violet_hold();
+void AddSC_instance_forge_of_souls(); //Forge of Souls
+void AddSC_forge_of_souls();
+void AddSC_boss_bronjahm();
+void AddSC_boss_devourer_of_souls();
+void AddSC_instance_pit_of_saron(); //Pit of Saron
+void AddSC_pit_of_saron();
+void AddSC_boss_garfrost();
+void AddSC_boss_ick();
+void AddSC_boss_tyrannus();
+void AddSC_instance_halls_of_reflection(); // Halls of Reflection
+void AddSC_halls_of_reflection();
+void AddSC_boss_falric();
+void AddSC_boss_marwyn();
+void AddSC_boss_lord_marrowgar(); // Icecrown Citadel
+void AddSC_boss_lady_deathwhisper();
+void AddSC_boss_icecrown_gunship_battle();
+void AddSC_boss_deathbringer_saurfang();
+void AddSC_boss_festergut();
+void AddSC_boss_rotface();
+void AddSC_boss_professor_putricide();
+void AddSC_boss_blood_prince_council();
+void AddSC_boss_blood_queen_lana_thel();
+void AddSC_boss_valithria_dreamwalker();
+void AddSC_boss_sindragosa();
+void AddSC_boss_the_lich_king();
+void AddSC_icecrown_citadel_teleport();
+void AddSC_instance_icecrown_citadel();
+void AddSC_icecrown_citadel();
+void AddSC_instance_ruby_sanctum(); // Ruby Sanctum
+void AddSC_ruby_sanctum();
+void AddSC_boss_baltharus_the_warborn();
+void AddSC_boss_saviana_ragefire();
+void AddSC_boss_general_zarithrian();
+void AddSC_boss_halion();
+
+void AddSC_dalaran();
+void AddSC_borean_tundra();
+void AddSC_dragonblight();
+void AddSC_grizzly_hills();
+void AddSC_howling_fjord();
+void AddSC_icecrown();
+void AddSC_sholazar_basin();
+void AddSC_storm_peaks();
+void AddSC_wintergrasp();
+void AddSC_zuldrak();
+void AddSC_crystalsong_forest();
+void AddSC_isle_of_conquest();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddNorthrendScripts()
+{
+ AddSC_boss_slad_ran(); //Gundrak
+ AddSC_boss_moorabi();
+ AddSC_boss_drakkari_colossus();
+ AddSC_boss_gal_darah();
+ AddSC_boss_eck();
+ AddSC_instance_gundrak();
+
+ // Azjol-Nerub - Ahn'kahet
+ AddSC_boss_elder_nadox();
+ AddSC_boss_taldaram();
+ AddSC_boss_amanitar();
+ AddSC_boss_jedoga_shadowseeker();
+ AddSC_boss_volazj();
+ AddSC_instance_ahnkahet();
+
+ // Azjol-Nerub - Azjol-Nerub
+ AddSC_boss_krik_thir();
+ AddSC_boss_hadronox();
+ AddSC_boss_anub_arak();
+ AddSC_instance_azjol_nerub();
+
+ // Drak'Tharon Keep
+ AddSC_boss_trollgore();
+ AddSC_boss_novos();
+ AddSC_boss_king_dred();
+ AddSC_boss_tharon_ja();
+ AddSC_instance_drak_tharon_keep();
+
+ AddSC_boss_argent_challenge(); //Trial of the Champion
+ AddSC_boss_black_knight();
+ AddSC_boss_grand_champions();
+ AddSC_instance_trial_of_the_champion();
+ AddSC_trial_of_the_champion();
+ AddSC_boss_anubarak_trial(); //Trial of the Crusader
+ AddSC_boss_faction_champions();
+ AddSC_boss_jaraxxus();
+ AddSC_trial_of_the_crusader();
+ AddSC_boss_twin_valkyr();
+ AddSC_boss_northrend_beasts();
+ AddSC_instance_trial_of_the_crusader();
+ AddSC_boss_anubrekhan(); //Naxxramas
+ AddSC_boss_maexxna();
+ AddSC_boss_patchwerk();
+ AddSC_boss_grobbulus();
+ AddSC_boss_razuvious();
+ AddSC_boss_kelthuzad();
+ AddSC_boss_loatheb();
+ AddSC_boss_noth();
+ AddSC_boss_gluth();
+ AddSC_boss_sapphiron();
+ AddSC_boss_four_horsemen();
+ AddSC_boss_faerlina();
+ AddSC_boss_heigan();
+ AddSC_boss_gothik();
+ AddSC_boss_thaddius();
+ AddSC_instance_naxxramas();
+ AddSC_boss_nexus_commanders(); // The Nexus Nexus
+ AddSC_boss_magus_telestra();
+ AddSC_boss_anomalus();
+ AddSC_boss_ormorok();
+ AddSC_boss_keristrasza();
+ AddSC_instance_nexus();
+ AddSC_boss_drakos(); //The Nexus The Oculus
+ AddSC_boss_urom();
+ AddSC_boss_varos();
+ AddSC_boss_eregos();
+ AddSC_instance_oculus();
+ AddSC_oculus();
+ AddSC_boss_malygos(); // The Nexus: Eye of Eternity
+ AddSC_instance_eye_of_eternity();
+ AddSC_boss_sartharion(); //Obsidian Sanctum
+ AddSC_obsidian_sanctum();
+ AddSC_instance_obsidian_sanctum();
+ AddSC_boss_bjarngrim(); //Ulduar Halls of Lightning
+ AddSC_boss_loken();
+ AddSC_boss_ionar();
+ AddSC_boss_volkhan();
+ AddSC_instance_halls_of_lightning();
+ AddSC_boss_maiden_of_grief(); //Ulduar Halls of Stone
+ AddSC_boss_krystallus();
+ AddSC_boss_sjonnir();
+ AddSC_instance_halls_of_stone();
+ AddSC_halls_of_stone();
+ AddSC_boss_auriaya(); //Ulduar Ulduar
+ AddSC_boss_flame_leviathan();
+ AddSC_boss_ignis();
+ AddSC_boss_razorscale();
+ AddSC_boss_xt002();
+ AddSC_boss_general_vezax();
+ AddSC_boss_assembly_of_iron();
+ AddSC_boss_kologarn();
+ AddSC_boss_mimiron();
+ AddSC_boss_hodir();
+ AddSC_boss_freya();
+ AddSC_boss_yogg_saron();
+ AddSC_boss_algalon_the_observer();
+ AddSC_instance_ulduar();
+
+ // Utgarde Keep - Utgarde Keep
+ AddSC_boss_keleseth();
+ AddSC_boss_skarvald_dalronn();
+ AddSC_boss_ingvar_the_plunderer();
+ AddSC_instance_utgarde_keep();
+ AddSC_utgarde_keep();
+
+ // Utgarde Keep - Utgarde Pinnacle
+ AddSC_boss_svala();
+ AddSC_boss_palehoof();
+ AddSC_boss_skadi();
+ AddSC_boss_ymiron();
+ AddSC_instance_utgarde_pinnacle();
+
+ // Vault of Archavon
+ AddSC_boss_archavon();
+ AddSC_boss_emalon();
+ AddSC_boss_koralon();
+ AddSC_boss_toravon();
+ AddSC_instance_vault_of_archavon();
+
+ AddSC_boss_cyanigosa(); //Violet Hold
+ AddSC_boss_erekem();
+ AddSC_boss_ichoron();
+ AddSC_boss_lavanthor();
+ AddSC_boss_moragg();
+ AddSC_boss_xevozz();
+ AddSC_boss_zuramat();
+ AddSC_instance_violet_hold();
+ AddSC_violet_hold();
+ AddSC_instance_forge_of_souls(); //Forge of Souls
+ AddSC_forge_of_souls();
+ AddSC_boss_bronjahm();
+ AddSC_boss_devourer_of_souls();
+ AddSC_instance_pit_of_saron(); //Pit of Saron
+ AddSC_pit_of_saron();
+ AddSC_boss_garfrost();
+ AddSC_boss_ick();
+ AddSC_boss_tyrannus();
+ AddSC_instance_halls_of_reflection(); // Halls of Reflection
+ AddSC_halls_of_reflection();
+ AddSC_boss_falric();
+ AddSC_boss_marwyn();
+ AddSC_boss_lord_marrowgar(); // Icecrown Citadel
+ AddSC_boss_lady_deathwhisper();
+ AddSC_boss_icecrown_gunship_battle();
+ AddSC_boss_deathbringer_saurfang();
+ AddSC_boss_festergut();
+ AddSC_boss_rotface();
+ AddSC_boss_professor_putricide();
+ AddSC_boss_blood_prince_council();
+ AddSC_boss_blood_queen_lana_thel();
+ AddSC_boss_valithria_dreamwalker();
+ AddSC_boss_sindragosa();
+ AddSC_boss_the_lich_king();
+ AddSC_icecrown_citadel_teleport();
+ AddSC_instance_icecrown_citadel();
+ AddSC_icecrown_citadel();
+ AddSC_instance_ruby_sanctum(); // Ruby Sanctum
+ AddSC_ruby_sanctum();
+ AddSC_boss_baltharus_the_warborn();
+ AddSC_boss_saviana_ragefire();
+ AddSC_boss_general_zarithrian();
+ AddSC_boss_halion();
+
+ AddSC_dalaran();
+ AddSC_borean_tundra();
+ AddSC_dragonblight();
+ AddSC_grizzly_hills();
+ AddSC_howling_fjord();
+ AddSC_icecrown();
+ AddSC_sholazar_basin();
+ AddSC_storm_peaks();
+ AddSC_wintergrasp();
+ AddSC_zuldrak();
+ AddSC_crystalsong_forest();
+ AddSC_isle_of_conquest();
+}
diff --git a/src/server/scripts/OutdoorPvP/CMakeLists.txt b/src/server/scripts/OutdoorPvP/CMakeLists.txt
deleted file mode 100644
index dc1eef20d48..00000000000
--- a/src/server/scripts/OutdoorPvP/CMakeLists.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- OutdoorPvP/OutdoorPvPTF.cpp
- OutdoorPvP/OutdoorPvPSI.cpp
- OutdoorPvP/OutdoorPvPSI.h
- OutdoorPvP/OutdoorPvPZM.cpp
- OutdoorPvP/OutdoorPvPNA.cpp
- OutdoorPvP/OutdoorPvPHP.cpp
- OutdoorPvP/OutdoorPvPTF.h
- OutdoorPvP/OutdoorPvPHP.h
- OutdoorPvP/OutdoorPvPZM.h
- OutdoorPvP/OutdoorPvPNA.h
-)
-
-message(" -> Prepared: Outdoor PVP Zones")
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPScriptLoader.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPScriptLoader.cpp
new file mode 100644
index 00000000000..11ec49db60d
--- /dev/null
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPScriptLoader.cpp
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+void AddSC_outdoorpvp_hp();
+void AddSC_outdoorpvp_na();
+void AddSC_outdoorpvp_si();
+void AddSC_outdoorpvp_tf();
+void AddSC_outdoorpvp_zm();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddOutdoorPvPScripts()
+{
+ AddSC_outdoorpvp_hp();
+ AddSC_outdoorpvp_na();
+ AddSC_outdoorpvp_si();
+ AddSC_outdoorpvp_tf();
+ AddSC_outdoorpvp_zm();
+}
diff --git a/src/server/scripts/Outland/CMakeLists.txt b/src/server/scripts/Outland/CMakeLists.txt
deleted file mode 100644
index 55b0452fb0b..00000000000
--- a/src/server/scripts/Outland/CMakeLists.txt
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- Outland/zone_nagrand.cpp
- Outland/HellfireCitadel/MagtheridonsLair/magtheridons_lair.h
- Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
- Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
- Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
- Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp
- Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
- Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
- Outland/HellfireCitadel/HellfireRamparts/hellfire_ramparts.h
- Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
- Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
- Outland/HellfireCitadel/BloodFurnace/blood_furnace.h
- Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
- Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
- Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h
- Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
- Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
- Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
- Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
- Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
- Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
- Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
- Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
- Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
- Outland/CoilfangReservoir/SteamVault/steam_vault.h
- Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
- Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
- Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
- Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h
- Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
- Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
- Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
- Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
- Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp
- Outland/CoilfangReservoir/TheSlavePens/the_slave_pens.h
- Outland/CoilfangReservoir/TheSlavePens/boss_mennu_the_betrayer.cpp
- Outland/CoilfangReservoir/TheSlavePens/boss_rokmar_the_crackler.cpp
- Outland/CoilfangReservoir/TheSlavePens/boss_quagmirran.cpp
- Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp
- Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp
- Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp
- Outland/zone_shattrath_city.cpp
- Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp
- Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
- Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
- Outland/TempestKeep/Mechanar/mechanar.h
- Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
- Outland/TempestKeep/Mechanar/instance_mechanar.cpp
- Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
- Outland/TempestKeep/Eye/the_eye.h
- Outland/TempestKeep/Eye/instance_the_eye.cpp
- Outland/TempestKeep/Eye/boss_void_reaver.cpp
- Outland/TempestKeep/Eye/boss_astromancer.cpp
- Outland/TempestKeep/Eye/boss_alar.cpp
- Outland/TempestKeep/Eye/boss_kaelthas.cpp
- Outland/TempestKeep/Eye/the_eye.cpp
- Outland/TempestKeep/botanica/the_botanica.h
- Outland/TempestKeep/botanica/instance_the_botanica.cpp
- Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
- Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp
- Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
- Outland/TempestKeep/botanica/boss_warp_splinter.cpp
- Outland/TempestKeep/botanica/boss_laj.cpp
- Outland/TempestKeep/arcatraz/boss_zereketh_the_unbound.cpp
- Outland/TempestKeep/arcatraz/boss_dalliah_the_doomsayer.cpp
- Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp
- Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
- Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
- Outland/TempestKeep/arcatraz/arcatraz.h
- Outland/TempestKeep/arcatraz/arcatraz.cpp
- Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp
- Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
- Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp
- Outland/Auchindoun/AuchenaiCrypts/auchenai_crypts.h
- Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
- Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
- Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp
- Outland/Auchindoun/ManaTombs/mana_tombs.h
- Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
- Outland/Auchindoun/SethekkHalls/boss_talon_king_ikiss.cpp
- Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
- Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
- Outland/Auchindoun/SethekkHalls/sethekk_halls.h
- Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
- Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
- Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
- Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
- Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
- Outland/Auchindoun/ShadowLabyrinth/shadow_labyrinth.h
- Outland/boss_doomwalker.cpp
- Outland/zone_terokkar_forest.cpp
- Outland/zone_hellfire_peninsula.cpp
- Outland/boss_doomlord_kazzak.cpp
- Outland/BlackTemple/boss_teron_gorefiend.cpp
- Outland/BlackTemple/black_temple.h
- Outland/BlackTemple/illidari_council.cpp
- Outland/BlackTemple/boss_shade_of_akama.cpp
- Outland/BlackTemple/boss_supremus.cpp
- Outland/BlackTemple/black_temple.cpp
- Outland/BlackTemple/boss_mother_shahraz.cpp
- Outland/BlackTemple/instance_black_temple.cpp
- Outland/BlackTemple/boss_reliquary_of_souls.cpp
- Outland/BlackTemple/boss_warlord_najentus.cpp
- Outland/BlackTemple/boss_gurtogg_bloodboil.cpp
- Outland/BlackTemple/boss_illidan.cpp
- Outland/zone_shadowmoon_valley.cpp
- Outland/zone_blades_edge_mountains.cpp
- Outland/GruulsLair/boss_high_king_maulgar.cpp
- Outland/GruulsLair/boss_gruul.cpp
- Outland/GruulsLair/gruuls_lair.h
- Outland/GruulsLair/instance_gruuls_lair.cpp
- Outland/zone_netherstorm.cpp
- Outland/zone_zangarmarsh.cpp
-)
-
-message(" -> Prepared: Outland")
diff --git a/src/server/scripts/Outland/outland_script_loader.cpp b/src/server/scripts/Outland/outland_script_loader.cpp
new file mode 100644
index 00000000000..91ba4e5689f
--- /dev/null
+++ b/src/server/scripts/Outland/outland_script_loader.cpp
@@ -0,0 +1,256 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+// Auchindoun - Auchenai Crypts
+void AddSC_boss_shirrak_the_dead_watcher();
+void AddSC_boss_exarch_maladaar();
+void AddSC_instance_auchenai_crypts();
+
+// Auchindoun - Mana Tombs
+void AddSC_boss_pandemonius();
+void AddSC_boss_nexusprince_shaffar();
+void AddSC_instance_mana_tombs();
+
+// Auchindoun - Sekketh Halls
+void AddSC_boss_darkweaver_syth();
+void AddSC_boss_talon_king_ikiss();
+void AddSC_boss_anzu();
+void AddSC_instance_sethekk_halls();
+
+// Auchindoun - Shadow Labyrinth
+void AddSC_boss_ambassador_hellmaw();
+void AddSC_boss_blackheart_the_inciter();
+void AddSC_boss_grandmaster_vorpil();
+void AddSC_boss_murmur();
+void AddSC_instance_shadow_labyrinth();
+
+// Black Temple
+void AddSC_black_temple();
+void AddSC_boss_illidan();
+void AddSC_boss_shade_of_akama();
+void AddSC_boss_supremus();
+void AddSC_boss_gurtogg_bloodboil();
+void AddSC_boss_mother_shahraz();
+void AddSC_boss_reliquary_of_souls();
+void AddSC_boss_teron_gorefiend();
+void AddSC_boss_najentus();
+void AddSC_boss_illidari_council();
+void AddSC_instance_black_temple();
+
+// Coilfang Reservoir - Serpent Shrine Cavern
+void AddSC_boss_fathomlord_karathress();
+void AddSC_boss_hydross_the_unstable();
+void AddSC_boss_lady_vashj();
+void AddSC_boss_leotheras_the_blind();
+void AddSC_boss_morogrim_tidewalker();
+void AddSC_instance_serpentshrine_cavern();
+void AddSC_boss_the_lurker_below();
+
+// Coilfang Reservoir - The Steam Vault
+void AddSC_boss_hydromancer_thespia();
+void AddSC_boss_mekgineer_steamrigger();
+void AddSC_boss_warlord_kalithresh();
+void AddSC_instance_steam_vault();
+
+// Coilfang Reservoir - The Slave Pens
+void AddSC_instance_the_slave_pens();
+void AddSC_boss_mennu_the_betrayer();
+void AddSC_boss_rokmar_the_crackler();
+void AddSC_boss_quagmirran();
+
+// Coilfang Reservoir - The Underbog
+void AddSC_instance_the_underbog();
+void AddSC_boss_hungarfen();
+void AddSC_boss_the_black_stalker();
+
+// Gruul's Lair
+void AddSC_boss_gruul();
+void AddSC_boss_high_king_maulgar();
+void AddSC_instance_gruuls_lair();
+void AddSC_boss_broggok(); //HC Blood Furnace
+void AddSC_boss_kelidan_the_breaker();
+void AddSC_boss_the_maker();
+void AddSC_instance_blood_furnace();
+void AddSC_boss_magtheridon(); //HC Magtheridon's Lair
+void AddSC_instance_magtheridons_lair();
+void AddSC_boss_grand_warlock_nethekurse(); //HC Shattered Halls
+void AddSC_boss_warbringer_omrogg();
+void AddSC_boss_warchief_kargath_bladefist();
+void AddSC_shattered_halls();
+void AddSC_instance_shattered_halls();
+void AddSC_boss_watchkeeper_gargolmar(); //HC Ramparts
+void AddSC_boss_omor_the_unscarred();
+void AddSC_boss_vazruden_the_herald();
+void AddSC_instance_ramparts();
+void AddSC_arcatraz(); //TK Arcatraz
+void AddSC_boss_zereketh_the_unbound();
+void AddSC_boss_dalliah_the_doomsayer();
+void AddSC_boss_wrath_scryer_soccothrates();
+void AddSC_boss_harbinger_skyriss();
+void AddSC_instance_arcatraz();
+void AddSC_boss_high_botanist_freywinn(); //TK Botanica
+void AddSC_boss_laj();
+void AddSC_boss_warp_splinter();
+void AddSC_boss_thorngrin_the_tender();
+void AddSC_boss_commander_sarannis();
+void AddSC_instance_the_botanica();
+void AddSC_boss_alar(); //TK The Eye
+void AddSC_boss_kaelthas();
+void AddSC_boss_void_reaver();
+void AddSC_boss_high_astromancer_solarian();
+void AddSC_instance_the_eye();
+void AddSC_the_eye();
+void AddSC_boss_gatewatcher_iron_hand(); //TK The Mechanar
+void AddSC_boss_gatewatcher_gyrokill();
+void AddSC_boss_nethermancer_sepethrea();
+void AddSC_boss_pathaleon_the_calculator();
+void AddSC_boss_mechano_lord_capacitus();
+void AddSC_instance_mechanar();
+
+void AddSC_blades_edge_mountains();
+void AddSC_boss_doomlordkazzak();
+void AddSC_boss_doomwalker();
+void AddSC_hellfire_peninsula();
+void AddSC_nagrand();
+void AddSC_netherstorm();
+void AddSC_shadowmoon_valley();
+void AddSC_shattrath_city();
+void AddSC_terokkar_forest();
+void AddSC_zangarmarsh();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddOutlandScripts()
+{
+ // Auchindoun - Auchenai Crypts
+ AddSC_boss_shirrak_the_dead_watcher();
+ AddSC_boss_exarch_maladaar();
+ AddSC_instance_auchenai_crypts();
+
+ // Auchindoun - Mana Tombs
+ AddSC_boss_pandemonius();
+ AddSC_boss_nexusprince_shaffar();
+ AddSC_instance_mana_tombs();
+
+ // Auchindoun - Sekketh Halls
+ AddSC_boss_darkweaver_syth();
+ AddSC_boss_talon_king_ikiss();
+ AddSC_boss_anzu();
+ AddSC_instance_sethekk_halls();
+
+ // Auchindoun - Shadow Labyrinth
+ AddSC_boss_ambassador_hellmaw();
+ AddSC_boss_blackheart_the_inciter();
+ AddSC_boss_grandmaster_vorpil();
+ AddSC_boss_murmur();
+ AddSC_instance_shadow_labyrinth();
+
+ // Black Temple
+ AddSC_black_temple();
+ AddSC_boss_illidan();
+ AddSC_boss_shade_of_akama();
+ AddSC_boss_supremus();
+ AddSC_boss_gurtogg_bloodboil();
+ AddSC_boss_mother_shahraz();
+ AddSC_boss_reliquary_of_souls();
+ AddSC_boss_teron_gorefiend();
+ AddSC_boss_najentus();
+ AddSC_boss_illidari_council();
+ AddSC_instance_black_temple();
+
+ // Coilfang Reservoir - Serpent Shrine Cavern
+ AddSC_boss_fathomlord_karathress();
+ AddSC_boss_hydross_the_unstable();
+ AddSC_boss_lady_vashj();
+ AddSC_boss_leotheras_the_blind();
+ AddSC_boss_morogrim_tidewalker();
+ AddSC_instance_serpentshrine_cavern();
+ AddSC_boss_the_lurker_below();
+
+ // Coilfang Reservoir - The Steam Vault
+ AddSC_instance_steam_vault();
+ AddSC_boss_hydromancer_thespia();
+ AddSC_boss_mekgineer_steamrigger();
+ AddSC_boss_warlord_kalithresh();
+
+ // Coilfang Reservoir - The Slave Pens
+ AddSC_instance_the_slave_pens();
+ AddSC_boss_mennu_the_betrayer();
+ AddSC_boss_rokmar_the_crackler();
+ AddSC_boss_quagmirran();
+
+ // Coilfang Reservoir - The Underbog
+ AddSC_instance_the_underbog();
+ AddSC_boss_hungarfen();
+ AddSC_boss_the_black_stalker();
+
+ // Gruul's Lair
+ AddSC_boss_gruul();
+ AddSC_boss_high_king_maulgar();
+ AddSC_instance_gruuls_lair();
+ AddSC_boss_broggok(); //HC Blood Furnace
+ AddSC_boss_kelidan_the_breaker();
+ AddSC_boss_the_maker();
+ AddSC_instance_blood_furnace();
+ AddSC_boss_magtheridon(); //HC Magtheridon's Lair
+ AddSC_instance_magtheridons_lair();
+ AddSC_boss_grand_warlock_nethekurse(); //HC Shattered Halls
+ AddSC_boss_warbringer_omrogg();
+ AddSC_boss_warchief_kargath_bladefist();
+ AddSC_shattered_halls();
+ AddSC_instance_shattered_halls();
+ AddSC_boss_watchkeeper_gargolmar(); //HC Ramparts
+ AddSC_boss_omor_the_unscarred();
+ AddSC_boss_vazruden_the_herald();
+ AddSC_instance_ramparts();
+ AddSC_arcatraz(); //TK Arcatraz
+ AddSC_boss_zereketh_the_unbound();
+ AddSC_boss_dalliah_the_doomsayer();
+ AddSC_boss_wrath_scryer_soccothrates();
+ AddSC_boss_harbinger_skyriss();
+ AddSC_instance_arcatraz();
+ AddSC_boss_high_botanist_freywinn(); //TK Botanica
+ AddSC_boss_laj();
+ AddSC_boss_warp_splinter();
+ AddSC_boss_thorngrin_the_tender();
+ AddSC_boss_commander_sarannis();
+ AddSC_instance_the_botanica();
+ AddSC_boss_alar(); //TK The Eye
+ AddSC_boss_kaelthas();
+ AddSC_boss_void_reaver();
+ AddSC_boss_high_astromancer_solarian();
+ AddSC_instance_the_eye();
+ AddSC_the_eye();
+ AddSC_boss_gatewatcher_iron_hand(); //TK The Mechanar
+ AddSC_boss_gatewatcher_gyrokill();
+ AddSC_boss_nethermancer_sepethrea();
+ AddSC_boss_pathaleon_the_calculator();
+ AddSC_boss_mechano_lord_capacitus();
+ AddSC_instance_mechanar();
+
+ AddSC_blades_edge_mountains();
+ AddSC_boss_doomlordkazzak();
+ AddSC_boss_doomwalker();
+ AddSC_hellfire_peninsula();
+ AddSC_nagrand();
+ AddSC_netherstorm();
+ AddSC_shadowmoon_valley();
+ AddSC_shattrath_city();
+ AddSC_terokkar_forest();
+ AddSC_zangarmarsh();
+}
diff --git a/src/server/scripts/Pet/CMakeLists.txt b/src/server/scripts/Pet/CMakeLists.txt
deleted file mode 100644
index 9ca268a9a3f..00000000000
--- a/src/server/scripts/Pet/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- Pet/pet_dk.cpp
- Pet/pet_generic.cpp
- Pet/pet_hunter.cpp
- Pet/pet_mage.cpp
- Pet/pet_priest.cpp
- Pet/pet_shaman.cpp
-)
-
-message(" -> Prepared: Pet")
diff --git a/src/server/scripts/Pet/pet_script_loader.cpp b/src/server/scripts/Pet/pet_script_loader.cpp
new file mode 100644
index 00000000000..c3c0079fd46
--- /dev/null
+++ b/src/server/scripts/Pet/pet_script_loader.cpp
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+void AddSC_deathknight_pet_scripts();
+void AddSC_generic_pet_scripts();
+void AddSC_hunter_pet_scripts();
+void AddSC_mage_pet_scripts();
+void AddSC_priest_pet_scripts();
+void AddSC_shaman_pet_scripts();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddPetScripts()
+{
+ AddSC_deathknight_pet_scripts();
+ AddSC_generic_pet_scripts();
+ AddSC_hunter_pet_scripts();
+ AddSC_mage_pet_scripts();
+ AddSC_priest_pet_scripts();
+ AddSC_shaman_pet_scripts();
+}
diff --git a/src/server/scripts/Spells/CMakeLists.txt b/src/server/scripts/Spells/CMakeLists.txt
deleted file mode 100644
index 7434d98cf49..00000000000
--- a/src/server/scripts/Spells/CMakeLists.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- Spells/spell_shaman.cpp
- Spells/spell_hunter.cpp
- Spells/spell_rogue.cpp
- Spells/spell_druid.cpp
- Spells/spell_dk.cpp
- Spells/spell_quest.cpp
- Spells/spell_warrior.cpp
- Spells/spell_generic.cpp
- Spells/spell_warlock.cpp
- Spells/spell_priest.cpp
- Spells/spell_mage.cpp
- Spells/spell_paladin.cpp
- Spells/spell_item.cpp
- Spells/spell_holiday.cpp
- Spells/spell_pet.cpp
-)
-
-message(" -> Prepared: Spells")
diff --git a/src/server/scripts/Spells/spell_script_loader.cpp b/src/server/scripts/Spells/spell_script_loader.cpp
new file mode 100644
index 00000000000..b2c8d6663fa
--- /dev/null
+++ b/src/server/scripts/Spells/spell_script_loader.cpp
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is where scripts' loading functions should be declared:
+void AddSC_deathknight_spell_scripts();
+void AddSC_druid_spell_scripts();
+void AddSC_generic_spell_scripts();
+void AddSC_hunter_spell_scripts();
+void AddSC_mage_spell_scripts();
+void AddSC_paladin_spell_scripts();
+void AddSC_priest_spell_scripts();
+void AddSC_rogue_spell_scripts();
+void AddSC_shaman_spell_scripts();
+void AddSC_warlock_spell_scripts();
+void AddSC_warrior_spell_scripts();
+void AddSC_quest_spell_scripts();
+void AddSC_item_spell_scripts();
+void AddSC_holiday_spell_scripts();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddSpellsScripts()
+{
+ AddSC_deathknight_spell_scripts();
+ AddSC_druid_spell_scripts();
+ AddSC_generic_spell_scripts();
+ AddSC_hunter_spell_scripts();
+ AddSC_mage_spell_scripts();
+ AddSC_paladin_spell_scripts();
+ AddSC_priest_spell_scripts();
+ AddSC_rogue_spell_scripts();
+ AddSC_shaman_spell_scripts();
+ AddSC_warlock_spell_scripts();
+ AddSC_warrior_spell_scripts();
+ AddSC_quest_spell_scripts();
+ AddSC_item_spell_scripts();
+ AddSC_holiday_spell_scripts();
+}
diff --git a/src/server/scripts/World/CMakeLists.txt b/src/server/scripts/World/CMakeLists.txt
deleted file mode 100644
index 17b3f2d8492..00000000000
--- a/src/server/scripts/World/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-file(GLOB_RECURSE sources_World World/*.cpp World/*.h)
-
-set(scripts_STAT_SRCS
- ${scripts_STAT_SRCS}
- ${sources_World}
-)
-
-message(" -> Prepared: World")
diff --git a/src/server/scripts/World/world_script_loader.cpp b/src/server/scripts/World/world_script_loader.cpp
new file mode 100644
index 00000000000..936fe0cc0e3
--- /dev/null
+++ b/src/server/scripts/World/world_script_loader.cpp
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "World.h"
+
+// This is where scripts' loading functions should be declared:
+// world
+void AddSC_areatrigger_scripts();
+void AddSC_emerald_dragons();
+void AddSC_generic_creature();
+void AddSC_go_scripts();
+void AddSC_guards();
+void AddSC_item_scripts();
+void AddSC_npc_professions();
+void AddSC_npc_innkeeper();
+void AddSC_npcs_special();
+void AddSC_npc_taxi();
+void AddSC_achievement_scripts();
+void AddSC_action_ip_logger();
+// player
+void AddSC_chat_log();
+void AddSC_duel_reset();
+
+// The name of this function should match:
+// void Add${NameOfDirectory}Scripts()
+void AddWorldScripts()
+{
+ AddSC_areatrigger_scripts();
+ AddSC_emerald_dragons();
+ AddSC_generic_creature();
+ AddSC_go_scripts();
+ AddSC_guards();
+ AddSC_item_scripts();
+ AddSC_npc_professions();
+ AddSC_npc_innkeeper();
+ AddSC_npcs_special();
+ AddSC_npc_taxi();
+ AddSC_achievement_scripts();
+ AddSC_chat_log(); // location: scripts\World\chat_log.cpp
+
+ // FIXME: This should be moved in a script validation hook.
+ // To avoid duplicate code, we check once /*ONLY*/ if logging is permitted or not.
+ if (sWorld->getBoolConfig(CONFIG_IP_BASED_ACTION_LOGGING))
+ AddSC_action_ip_logger(); // location: scripts\World\action_ip_logger.cpp
+ AddSC_duel_reset();
+}