feat(Core/Scripts): split the huge scriptloader into smaller pieces (#5346)

* feat(Core/Scripts): split the huge scriptloader into smaller pieces

* AddSC_swamp_of_sorrows del

* 1

* add mod info

* 1

* 039f0e0faa

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
This commit is contained in:
Kargatum
2021-06-23 04:19:02 +07:00
committed by GitHub
parent 20a67cbfcf
commit 5991b2769a
49 changed files with 1978 additions and 2264 deletions

View File

@@ -1,110 +0,0 @@
# Copyright (C)
#
# 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}
${AC_SCRIPTS_DIR}/Kalimdor/zone_stonetalon_mountains.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_silithus.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_moonglade.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RazorfenDowns/razorfen_downs.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RazorfenDowns/razorfen_downs.h
${AC_SCRIPTS_DIR}/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
${AC_SCRIPTS_DIR}/Kalimdor/ZulFarrak/zulfarrak.h
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.h
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_lieutenant_drake.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.h
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
${AC_SCRIPTS_DIR}/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
${AC_SCRIPTS_DIR}/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
${AC_SCRIPTS_DIR}/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h
${AC_SCRIPTS_DIR}/Kalimdor/zone_azuremyst_isle.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_orgrimmar.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_desolace.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_feralas.cpp
${AC_SCRIPTS_DIR}/Kalimdor/Maraudon/instance_maraudon.cpp
${AC_SCRIPTS_DIR}/Kalimdor/Maraudon/maraudon.h
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
${AC_SCRIPTS_DIR}/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_darkshore.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h
${AC_SCRIPTS_DIR}/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_mulgore.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_bloodmyst_isle.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_thunder_bluff.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_azshara.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_the_barrens.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_ungoro_crater.cpp
${AC_SCRIPTS_DIR}/Kalimdor/WailingCaverns/wailing_caverns.h
${AC_SCRIPTS_DIR}/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_durotar.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_felwood.cpp
${AC_SCRIPTS_DIR}/Kalimdor/boss_azuregos.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_tanaris.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_dustwallow_marsh.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_winterspring.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_thousand_needles.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_ashenvale.cpp
${AC_SCRIPTS_DIR}/Kalimdor/zone_teldrassil.cpp
${AC_SCRIPTS_DIR}/Kalimdor/OnyxiasLair/boss_onyxia.cpp
${AC_SCRIPTS_DIR}/Kalimdor/OnyxiasLair/onyxias_lair.h
${AC_SCRIPTS_DIR}/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
${AC_SCRIPTS_DIR}/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp
${AC_SCRIPTS_DIR}/Kalimdor/DireMaul/instance_dire_maul.cpp
${AC_SCRIPTS_DIR}/Kalimdor/DireMaul/dire_maul.h
)
AC_ADD_SCRIPT_LOADER("Kalimdor" "ScriptLoader.h")
message(" -> Prepared: Kalimdor")

View File

@@ -0,0 +1,166 @@
/*
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3
* Copyright (C) 2021+ WarheadCore <https://github.com/WarheadCore>
*/
// This is where scripts' loading functions should be declared:
void AddSC_instance_blackfathom_deeps(); //Blackfathom Depths
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_instance_maraudon(); //Maraudon
void AddSC_boss_onyxia(); //Onyxia's Lair
void AddSC_instance_onyxias_lair();
void AddSC_instance_ragefire_chasm(); //Ragefire Chasm
void AddSC_razorfen_downs();
void AddSC_instance_razorfen_downs(); //Razorfen Downs
void AddSC_instance_razorfen_kraul(); //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_instance_wailing_caverns(); //Wailing caverns
void AddSC_instance_zulfarrak(); //Zul'Farrak instance script
void AddSC_ashenvale();
void AddSC_azshara();
void AddSC_azuremyst_isle();
void AddSC_bloodmyst_isle();
void AddSC_boss_azuregos();
void AddSC_darkshore();
void AddSC_desolace();
void AddSC_durotar();
void AddSC_dustwallow_marsh();
void AddSC_felwood();
void AddSC_feralas();
void AddSC_moonglade();
void AddSC_mulgore();
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_instance_blackfathom_deeps(); //Blackfathom Depths
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_instance_maraudon(); //Maraudon
AddSC_boss_onyxia(); //Onyxia's Lair
AddSC_instance_onyxias_lair();
AddSC_instance_ragefire_chasm(); //Ragefire Chasm
AddSC_razorfen_downs();
AddSC_instance_razorfen_downs(); //Razorfen Downs
AddSC_instance_razorfen_kraul(); //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_instance_wailing_caverns(); //Wailing caverns
AddSC_instance_zulfarrak(); //Zul'Farrak instance script
AddSC_ashenvale();
AddSC_azshara();
AddSC_azuremyst_isle();
AddSC_bloodmyst_isle();
AddSC_boss_azuregos();
AddSC_darkshore();
AddSC_desolace();
AddSC_durotar();
AddSC_dustwallow_marsh();
AddSC_felwood();
AddSC_feralas();
AddSC_moonglade();
AddSC_mulgore();
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();
}