aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMachiavelli <none@none>2009-08-16 03:25:27 +0200
committerMachiavelli <none@none>2009-08-16 03:25:27 +0200
commitbcd0656b0d6d023c31eedf707db2d9dc044c3482 (patch)
tree6d9da9fa8a6d0a3949d8b726263c51da9e4cfdf5 /src
parent28449378508d21cbf5bedb4fada26d86c91ab987 (diff)
parent71c69e3460c3a5f62aaa739955342ce57072c529 (diff)
*Merge
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/CMakeLists.txt44
-rw-r--r--src/bindings/scripts/ScriptMgr.cpp1283
-rw-r--r--src/bindings/scripts/ScriptMgr.h4
-rw-r--r--src/bindings/scripts/VC80/80ScriptDev2.vcproj244
-rw-r--r--src/bindings/scripts/VC90/90ScriptDev2.vcproj244
-rw-r--r--src/bindings/scripts/base/escortAI.cpp (renamed from src/bindings/scripts/scripts/npc/npc_escortAI.cpp)7
-rw-r--r--src/bindings/scripts/base/escortAI.h (renamed from src/bindings/scripts/scripts/npc/npc_escortAI.h)0
-rw-r--r--src/bindings/scripts/base/guard_ai.cpp (renamed from src/bindings/scripts/scripts/guard/guard_ai.cpp)0
-rw-r--r--src/bindings/scripts/base/guard_ai.h (renamed from src/bindings/scripts/scripts/guard/guard_ai.h)0
-rw-r--r--src/bindings/scripts/base/simple_ai.cpp (renamed from src/bindings/scripts/scripts/creature/simple_ai.cpp)0
-rw-r--r--src/bindings/scripts/base/simple_ai.h (renamed from src/bindings/scripts/scripts/creature/simple_ai.h)0
-rw-r--r--src/bindings/scripts/include/sc_gossip.h4
-rw-r--r--src/bindings/scripts/scripts/custom/test.cpp2
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp8
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp8
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp8
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp8
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/isle_of_queldanas.cpp (renamed from src/bindings/scripts/scripts/outland/isle_of_queldanas.cpp)0
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp (renamed from src/bindings/scripts/scripts/zone/eastern_plaguelands/the_scarlet_enclave.cpp)8
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/silverpine_forest.cpp2
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/westfall.cpp14
-rw-r--r--src/bindings/scripts/scripts/examples/example_escort.cpp15
-rw-r--r--src/bindings/scripts/scripts/item/item_test.cpp43
-rw-r--r--src/bindings/scripts/scripts/kalimdor/ashenvale.cpp14
-rw-r--r--src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp8
-rw-r--r--src/bindings/scripts/scripts/kalimdor/darkshore.cpp8
-rw-r--r--src/bindings/scripts/scripts/kalimdor/feralas.cpp8
-rw-r--r--src/bindings/scripts/scripts/kalimdor/moonglade.cpp2
-rw-r--r--src/bindings/scripts/scripts/kalimdor/mulgore.cpp2
-rw-r--r--src/bindings/scripts/scripts/kalimdor/stonetalon_mountains.cpp8
-rw-r--r--src/bindings/scripts/scripts/kalimdor/tanaris.cpp8
-rw-r--r--src/bindings/scripts/scripts/kalimdor/the_barrens.cpp8
-rw-r--r--src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp20
-rw-r--r--src/bindings/scripts/scripts/northrend/sholazar_basin.cpp8
-rw-r--r--src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp44
-rw-r--r--src/bindings/scripts/scripts/outland/netherstorm.cpp2
-rw-r--r--src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp8
-rw-r--r--src/bindings/scripts/scripts/outland/shattrath_city.cpp8
-rw-r--r--src/bindings/scripts/scripts/outland/terokkar_forest.cpp14
-rw-r--r--src/bindings/scripts/scripts/outland/zangarmarsh.cpp8
-rw-r--r--src/bindings/scripts/scripts/world/areatrigger_scripts.cpp (renamed from src/bindings/scripts/scripts/areatrigger/areatrigger_scripts.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/boss_emeriss.cpp (renamed from src/bindings/scripts/scripts/boss/boss_emeriss.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/boss_lethon.cpp (renamed from src/bindings/scripts/scripts/boss/boss_lethon.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/boss_taerar.cpp (renamed from src/bindings/scripts/scripts/boss/boss_taerar.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/boss_ysondre.cpp (renamed from src/bindings/scripts/scripts/boss/boss_ysondre.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/go_scripts.cpp (renamed from src/bindings/scripts/scripts/go/go_scripts.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/guards.cpp (renamed from src/bindings/scripts/scripts/guard/guards.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/item_scripts.cpp (renamed from src/bindings/scripts/scripts/item/item_scripts.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/mob_generic_creature.cpp (renamed from src/bindings/scripts/scripts/creature/mob_generic_creature.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/npc_innkeeper.cpp (renamed from src/bindings/scripts/scripts/npc/npc_innkeeper.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/npc_professions.cpp (renamed from src/bindings/scripts/scripts/npc/npc_professions.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/npc_taxi.cpp (renamed from src/bindings/scripts/scripts/npc/npc_taxi.cpp)0
-rw-r--r--src/bindings/scripts/scripts/world/npcs_special.cpp (renamed from src/bindings/scripts/scripts/npc/npcs_special.cpp)8
-rw-r--r--src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h2
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h2
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp183
-rw-r--r--src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/wailing_caverns/wailing_caverns.cpp8
-rw-r--r--src/bindings/scripts/system/ScriptLoader.cpp1026
-rw-r--r--src/bindings/scripts/system/ScriptLoader.h10
-rw-r--r--src/game/Player.cpp35
-rw-r--r--src/game/Player.h5
-rw-r--r--src/game/SpellAuras.cpp23
77 files changed, 1558 insertions, 1946 deletions
diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt
index bdb9291e4fd..9736d172850 100644
--- a/src/bindings/scripts/CMakeLists.txt
+++ b/src/bindings/scripts/CMakeLists.txt
@@ -4,20 +4,19 @@
SET(trinityscript_LIB_SRCS
ScriptMgr.cpp
ScriptMgr.h
+ base/escortAI.cpp
+ base/escortAI.h
+ base/guard_ai.cpp
+ base/guard_ai.h
+ base/simple_ai.cpp
+ base/simple_ai.h
include/precompiled.cpp
include/precompiled.h
include/sc_creature.cpp
include/sc_creature.h
include/sc_gossip.h
include/sc_instance.h
- scripts/areatrigger/areatrigger_scripts.cpp
- scripts/boss/boss_emeriss.cpp
- scripts/boss/boss_lethon.cpp
- scripts/boss/boss_taerar.cpp
- scripts/boss/boss_ysondre.cpp
- scripts/creature/mob_generic_creature.cpp
- scripts/creature/simple_ai.cpp
- scripts/creature/simple_ai.h
+ scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp
scripts/eastern_kingdoms/alterac_mountains.cpp
scripts/eastern_kingdoms/arathi_highlands.cpp
scripts/eastern_kingdoms/blasted_lands.cpp
@@ -30,6 +29,7 @@ SET(trinityscript_LIB_SRCS
scripts/eastern_kingdoms/ghostlands.cpp
scripts/eastern_kingdoms/hinterlands.cpp
scripts/eastern_kingdoms/ironforge.cpp
+ scripts/eastern_kingdoms/isle_of_queldanas.cpp
scripts/eastern_kingdoms/loch_modan.cpp
scripts/eastern_kingdoms/searing_gorge.cpp
scripts/eastern_kingdoms/silvermoon_city.cpp
@@ -44,11 +44,6 @@ SET(trinityscript_LIB_SRCS
scripts/examples/example_escort.cpp
scripts/examples/example_gossip_codebox.cpp
scripts/examples/example_misc.cpp
- scripts/go/go_scripts.cpp
- scripts/guard/guard_ai.cpp
- scripts/guard/guard_ai.h
- scripts/guard/guards.cpp
- scripts/item/item_scripts.cpp
scripts/kalimdor/ashenvale.cpp
scripts/kalimdor/azshara.cpp
scripts/kalimdor/azuremyst_isle.cpp
@@ -76,17 +71,10 @@ SET(trinityscript_LIB_SRCS
scripts/northrend/icecrown.cpp
scripts/northrend/sholazar_basin.cpp
scripts/northrend/zuldrak.cpp
- scripts/npc/npc_escortAI.cpp
- scripts/npc/npc_escortAI.h
- scripts/npc/npc_innkeeper.cpp
- scripts/npc/npc_professions.cpp
- scripts/npc/npcs_special.cpp
- scripts/npc/npc_taxi.cpp
scripts/outland/blades_edge_mountains.cpp
scripts/outland/boss_doomlord_kazzak.cpp
scripts/outland/boss_doomwalker.cpp
scripts/outland/hellfire_peninsula.cpp
- scripts/outland/isle_of_queldanas.cpp
scripts/outland/nagrand.cpp
scripts/outland/netherstorm.cpp
scripts/outland/shadowmoon_valley.cpp
@@ -197,7 +185,6 @@ SET(trinityscript_LIB_SRCS
scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
scripts/zone/deadmines/def_deadmines.h
scripts/zone/deadmines/deadmines.cpp
- scripts/zone/eastern_plaguelands/the_scarlet_enclave.cpp
scripts/zone/gruuls_lair/boss_gruul.cpp
scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp
scripts/zone/gruuls_lair/def_gruuls_lair.h
@@ -508,6 +495,21 @@ SET(trinityscript_LIB_SRCS
scripts/zone/ulduar/ulduar/boss_yoggsaron.cpp
scripts/zone/ulduar/ulduar/def_ulduar.h
scripts/zone/ulduar/ulduar/instance_ulduar.cpp
+ scripts/world/areatrigger_scripts.cpp
+ scripts/world/boss_emeriss.cpp
+ scripts/world/boss_lethon.cpp
+ scripts/world/boss_taerar.cpp
+ scripts/world/boss_ysondre.cpp
+ scripts/world/go_scripts.cpp
+ scripts/world/guards.cpp
+ scripts/world/item_scripts.cpp
+ scripts/world/mob_generic_creature.cpp
+ scripts/world/npc_innkeeper.cpp
+ scripts/world/npc_professions.cpp
+ scripts/world/npcs_special.cpp
+ scripts/world/npc_taxi.cpp
+ system/ScriptLoader.cpp
+ system/ScriptLoader.h
system.cpp
)
diff --git a/src/bindings/scripts/ScriptMgr.cpp b/src/bindings/scripts/ScriptMgr.cpp
index 50a502e98ed..84215e01a0c 100644
--- a/src/bindings/scripts/ScriptMgr.cpp
+++ b/src/bindings/scripts/ScriptMgr.cpp
@@ -8,6 +8,7 @@
#include "DBCStores.h"
#include "ObjectMgr.h"
#include "ProgressBar.h"
+#include "../system/ScriptLoader.h"
#define _FULLVERSION "TrinityScript"
@@ -42,647 +43,6 @@ void FillSpellSummary();
void LoadOverridenSQLData();
void LoadOverridenDBCData();
-// -- Scripts to be added --
-
-// -- Areatrigger --
-extern void AddSC_areatrigger_scripts();
-
-// -- Boss --
-extern void AddSC_boss_emeriss();
-extern void AddSC_boss_taerar();
-extern void AddSC_boss_ysondre();
-
-// -- Creature --
-extern void AddSC_generic_creature();
-
-// -- Custom --
-
-// -- Examples --
-extern void AddSC_example_creature();
-extern void AddSC_example_escort();
-extern void AddSC_example_gossip_codebox();
-extern void AddSC_example_misc();
-
-// -- GO --
-extern void AddSC_go_scripts();
-
-// -- Guard --
-extern void AddSC_guards();
-
-// -- Honor --
-
-// -- Item --
-extern void AddSC_item_scripts();
-
-// -- NPC --
-extern void AddSC_npc_professions();
-extern void AddSC_npcs_special();
-extern void AddSC_npc_taxi();
-
-// -- Servers --
-
-//--------------------
-//------ ZONE --------
-
-//Alterac Mountains
-//extern void AddSC_alterac_mountains();
-
-//Arathi Highlands
-extern void AddSC_arathi_highlands();
-
-//Ashenvale Forest
-extern void AddSC_ashenvale();
-
-//Aunchindoun
-//--Auchenai Crypts
-extern void AddSC_boss_exarch_maladaar();
-extern void AddSC_boss_shirrak_the_dead_watcher();
-
-//--Mana Tombs
-extern void AddSC_boss_nexusprince_shaffar();
-extern void AddSC_boss_pandemonius();
-
-//--Sekketh Halls
-extern void AddSC_boss_darkweaver_syth();
-extern void AddSC_boss_talon_king_ikiss();
-extern void AddSC_instance_sethekk_halls();
-
-//--Shadow Labyrinth
-extern void AddSC_boss_ambassador_hellmaw();
-extern void AddSC_boss_blackheart_the_inciter();
-extern void AddSC_boss_grandmaster_vorpil();
-extern void AddSC_boss_murmur();
-extern void AddSC_instance_shadow_labyrinth();
-
-//Azjol-Nerub
-//--Ahn'kahet
-extern void AddSC_instance_ahnkahet();
-extern void AddSC_boss_elder_nadox();
-
-//Azshara
-extern void AddSC_boss_azuregos();
-extern void AddSC_azshara();
-
-//Azuremyst Isle
-extern void AddSC_azuremyst_isle();
-
-//Badlands
-//Barrens
-extern void AddSC_the_barrens();
-
-//Black Temple
-extern void AddSC_black_temple();
-extern void AddSC_boss_illidan();
-extern void AddSC_boss_shade_of_akama();
-extern void AddSC_boss_supremus();
-extern void AddSC_boss_gurtogg_bloodboil();
-extern void AddSC_boss_mother_shahraz();
-extern void AddSC_boss_reliquary_of_souls();
-extern void AddSC_boss_teron_gorefiend();
-extern void AddSC_boss_najentus();
-extern void AddSC_boss_illidari_council();
-extern void AddSC_instance_black_temple();
-
-//Blackfathom Depths
-extern void AddSC_instance_blackfathom_deeps();
-
-//Blackrock Depths
-extern void AddSC_blackrock_depths();
-extern void AddSC_boss_ambassador_flamelash();
-extern void AddSC_boss_anubshiah();
-extern void AddSC_boss_draganthaurissan();
-extern void AddSC_boss_general_angerforge();
-extern void AddSC_boss_gorosh_the_dervish();
-extern void AddSC_boss_grizzle();
-extern void AddSC_boss_high_interrogator_gerstahn();
-extern void AddSC_boss_magmus();
-extern void AddSC_boss_moira_bronzebeard();
-extern void AddSC_boss_tomb_of_seven();
-extern void AddSC_instance_blackrock_depths();
-
-//Blackrock Spire
-extern void AddSC_boss_drakkisath();
-extern void AddSC_boss_halycon();
-extern void AddSC_boss_highlordomokk();
-extern void AddSC_boss_mothersmolderweb();
-extern void AddSC_boss_overlordwyrmthalak();
-extern void AddSC_boss_shadowvosh();
-extern void AddSC_boss_thebeast();
-extern void AddSC_boss_warmastervoone();
-extern void AddSC_boss_quatermasterzigris();
-extern void AddSC_boss_pyroguard_emberseer();
-extern void AddSC_boss_gyth();
-extern void AddSC_boss_rend_blackhand();
-
-//Blackwing lair
-extern void AddSC_boss_razorgore();
-extern void AddSC_boss_vael();
-extern void AddSC_boss_broodlord();
-extern void AddSC_boss_firemaw();
-extern void AddSC_boss_ebonroc();
-extern void AddSC_boss_flamegor();
-extern void AddSC_boss_chromaggus();
-extern void AddSC_boss_nefarian();
-extern void AddSC_boss_victor_nefarius();
-
-//Blade's Edge Mountains
-extern void AddSC_blades_edge_mountains();
-
-//Blasted lands
-extern void AddSC_boss_kruul();
-extern void AddSC_blasted_lands();
-
-//Bloodmyst Isle
-extern void AddSC_bloodmyst_isle();
-
-//Borean Tundra
-extern void AddSC_borean_tundra();
-
-//Burning steppes
-extern void AddSC_burning_steppes();
-
-//Caverns of Time
-//--Battle for Mt. Hyjal
-extern void AddSC_hyjal();
-extern void AddSC_boss_archimonde();
-extern void AddSC_instance_mount_hyjal();
-extern void AddSC_hyjal_trash();
-extern void AddSC_boss_rage_winterchill();
-extern void AddSC_boss_anetheron();
-extern void AddSC_boss_kazrogal();
-extern void AddSC_boss_azgalor();
-
-//--Old Hillsbrad
-extern void AddSC_boss_captain_skarloc();
-extern void AddSC_boss_epoch_hunter();
-extern void AddSC_boss_lieutenant_drake();
-extern void AddSC_instance_old_hillsbrad();
-extern void AddSC_old_hillsbrad();
-
-//--The Dark Portal
-extern void AddSC_boss_aeonus();
-extern void AddSC_boss_chrono_lord_deja();
-extern void AddSC_boss_temporus();
-extern void AddSC_dark_portal();
-extern void AddSC_instance_dark_portal();
-
-//Coilfang Resevoir
-//--Serpent Shrine Cavern
-extern void AddSC_boss_fathomlord_karathress();
-extern void AddSC_boss_hydross_the_unstable();
-extern void AddSC_boss_lady_vashj();
-extern void AddSC_boss_leotheras_the_blind();
-extern void AddSC_boss_morogrim_tidewalker();
-extern void AddSC_instance_serpentshrine_cavern();
-extern void AddSC_boss_the_lurker_below();
-
-//--Slave Pens
-
-//--Steam Vault
-extern void AddSC_boss_hydromancer_thespia();
-extern void AddSC_boss_mekgineer_steamrigger();
-extern void AddSC_boss_warlord_kalithresh();
-extern void AddSC_instance_steam_vault();
-
-//--Underbog
-extern void AddSC_boss_hungarfen();
-extern void AddSC_boss_the_black_stalker();
-
-//Darkshore
-extern void AddSC_darkshore();
-
-//Darnassus
-//Deadmines
-extern void AddSC_instance_deadmines();
-
-//Deadwind pass
-//Desolace
-extern void AddSC_desolace();
-
-//Dire Maul
-
-extern void AddSC_dragonblight();
-
-//Dun Morogh
-extern void AddSC_dun_morogh();
-
-//Durotar
-//Duskwood
-//Dustwallow marsh
-extern void AddSC_dustwallow_marsh();
-
-//Eversong Woods
-extern void AddSC_eversong_woods();
-
-//Exodar
-//Eastern Plaguelands
-extern void AddSC_eastern_plaguelands();
-extern void AddSC_the_scarlet_enclave();
-
-//Elwynn Forest
-extern void AddSC_elwynn_forest();
-
-//Felwood
-extern void AddSC_felwood();
-
-//Feralas
-extern void AddSC_feralas();
-
-//Ghostlands
-extern void AddSC_ghostlands();
-
-//Gnomeregan
-
-//Grizzly Hills
-extern void AddSC_grizzly_hills();
-
-//Gruul's Lair
-extern void AddSC_boss_gruul();
-extern void AddSC_boss_high_king_maulgar();
-extern void AddSC_instance_gruuls_lair();
-
-//Hellfire Citadel
-//--Blood Furnace
-extern void AddSC_boss_broggok();
-extern void AddSC_boss_kelidan_the_breaker();
-extern void AddSC_boss_the_maker();
-extern void AddSC_instance_blood_furnace();
-
-//--Magtheridon's Lair
-extern void AddSC_boss_magtheridon();
-extern void AddSC_instance_magtheridons_lair();
-
-//--Shattered Halls
-extern void AddSC_boss_grand_warlock_nethekurse();
-extern void AddSC_boss_warbringer_omrogg();
-extern void AddSC_boss_warchief_kargath_bladefist();
-extern void AddSC_instance_shattered_halls();
-
-//--Ramparts
-extern void AddSC_boss_watchkeeper_gargolmar();
-extern void AddSC_boss_omor_the_unscarred();
-extern void AddSC_boss_vazruden_the_herald();
-extern void AddSC_instance_ramparts();
-
-//Hellfire Peninsula
-extern void AddSC_boss_doomlordkazzak();
-extern void AddSC_hellfire_peninsula();
-
-//Hillsbrad Foothills
-//Hinterlands
-extern void AddSC_hinterlands();
-
-//Icecrown
-extern void AddSC_icecrown();
-
-//Ironforge
-extern void AddSC_ironforge();
-
-//Isle of Quel'Danas
-extern void AddSC_isle_of_queldanas();
-
-//Karazhan
-extern void AddSC_boss_attumen();
-extern void AddSC_boss_curator();
-extern void AddSC_boss_maiden_of_virtue();
-extern void AddSC_boss_shade_of_aran();
-extern void AddSC_boss_malchezaar();
-extern void AddSC_boss_terestian_illhoof();
-extern void AddSC_boss_moroes();
-extern void AddSC_bosses_opera();
-extern void AddSC_boss_netherspite();
-extern void AddSC_instance_karazhan();
-extern void AddSC_karazhan();
-extern void AddSC_boss_nightbane();
-
-//Loch Modan
-extern void AddSC_loch_modan();
-
-//Lower Blackrock Spire
-
-// Magister's Terrace
-extern void AddSC_boss_felblood_kaelthas();
-extern void AddSC_boss_selin_fireheart();
-extern void AddSC_boss_vexallus();
-extern void AddSC_boss_priestess_delrissa();
-extern void AddSC_instance_magisters_terrace();
-extern void AddSC_magisters_terrace();
-
-//Maraudon
-extern void AddSC_boss_celebras_the_cursed();
-extern void AddSC_boss_landslide();
-extern void AddSC_boss_noxxion();
-extern void AddSC_boss_ptheradras();
-
-//Molten core
-extern void AddSC_boss_lucifron();
-extern void AddSC_boss_magmadar();
-extern void AddSC_boss_gehennas();
-extern void AddSC_boss_garr();
-extern void AddSC_boss_baron_geddon();
-extern void AddSC_boss_shazzrah();
-extern void AddSC_boss_golemagg();
-extern void AddSC_boss_sulfuron();
-extern void AddSC_boss_majordomo();
-extern void AddSC_boss_ragnaros();
-extern void AddSC_instance_molten_core();
-extern void AddSC_molten_core();
-
-//Moonglade
-extern void AddSC_moonglade();
-
-//Mulgore
-extern void AddSC_mulgore();
-
-//Nagrand
-extern void AddSC_nagrand();
-
-//Naxxramas
-extern void AddSC_boss_anubrekhan();
-extern void AddSC_boss_maexxna();
-extern void AddSC_boss_patchwerk();
-extern void AddSC_boss_grobbulus();
-extern void AddSC_boss_razuvious();
-extern void AddSC_boss_kelthuzad();
-extern void AddSC_boss_loatheb();
-extern void AddSC_boss_noth();
-extern void AddSC_boss_gluth();
-extern void AddSC_boss_sapphiron();
-extern void AddSC_boss_four_horsemen();
-extern void AddSC_boss_faerlina();
-extern void AddSC_boss_heigan();
-extern void AddSC_boss_gothik();
-extern void AddSC_boss_thaddius();
-extern void AddSC_instance_naxxramas();
-
-//Netherstorm
-extern void AddSC_netherstorm();
-
-//The Nexus
-extern void AddSC_boss_magus_telestra();
-extern void AddSC_boss_anomalus();
-extern void AddSC_boss_ormorok();
-extern void AddSC_boss_keristrasza();
-extern void AddSC_instance_nexus();
-
-//Obsidian Sanctum
-extern void AddSC_instance_obsidian_sanctum();
-
-//Onyxia's Lair
-extern void AddSC_boss_onyxia();
-
-//Orgrimmar
-extern void AddSC_orgrimmar();
-
-//Ragefire Chasm
-//Razorfen Downs
-extern void AddSC_boss_amnennar_the_coldbringer();
-extern void AddSC_razorfen_downs();
-
-//Razorfen Kraul
-extern void AddSC_razorfen_kraul();
-
-//Redridge Mountains
-//Ruins of Ahn'Qiraj
-//Scarlet Monastery
-extern void AddSC_boss_arcanist_doan();
-extern void AddSC_boss_azshir_the_sleepless();
-extern void AddSC_boss_bloodmage_thalnos();
-extern void AddSC_boss_headless_horseman();
-extern void AddSC_boss_herod();
-extern void AddSC_boss_high_inquisitor_fairbanks();
-extern void AddSC_boss_houndmaster_loksey();
-extern void AddSC_boss_interrogator_vishas();
-extern void AddSC_boss_scorn();
-extern void AddSC_instance_scarlet_monastery();
-extern void AddSC_boss_mograine_and_whitemane();
-
-//Scholomance
-extern void AddSC_boss_darkmaster_gandling();
-extern void AddSC_boss_death_knight_darkreaver();
-extern void AddSC_boss_theolenkrastinov();
-extern void AddSC_boss_illuciabarov();
-extern void AddSC_boss_instructormalicia();
-extern void AddSC_boss_jandicebarov();
-extern void AddSC_boss_kormok();
-extern void AddSC_boss_lordalexeibarov();
-extern void AddSC_boss_lorekeeperpolkelt();
-extern void AddSC_boss_rasfrost();
-extern void AddSC_boss_theravenian();
-extern void AddSC_boss_vectus();
-extern void AddSC_instance_scholomance();
-
-//Searing gorge
-extern void AddSC_searing_gorge();
-
-//Shadowfang keep
-extern void AddSC_shadowfang_keep();
-extern void AddSC_instance_shadowfang_keep();
-
-//Shadowmoon Valley
-extern void AddSC_boss_doomwalker();
-extern void AddSC_shadowmoon_valley();
-
-//Shattrath
-extern void AddSC_shattrath_city();
-
-//Sholazar Basin
-extern void AddSC_sholazar_basin();
-
-//Silithus
-extern void AddSC_silithus();
-
-//Silvermoon
-extern void AddSC_silvermoon_city();
-
-//Silverpine forest
-extern void AddSC_silverpine_forest();
-
-//Stockade
-//Stonetalon mountains
-extern void AddSC_stonetalon_mountains();
-
-//Stormwind City
-extern void AddSC_stormwind_city();
-
-//Stranglethorn Vale
-extern void AddSC_stranglethorn_vale();
-
-//Stratholme
-extern void AddSC_boss_magistrate_barthilas();
-extern void AddSC_boss_maleki_the_pallid();
-extern void AddSC_boss_nerubenkan();
-extern void AddSC_boss_cannon_master_willey();
-extern void AddSC_boss_baroness_anastari();
-extern void AddSC_boss_ramstein_the_gorger();
-extern void AddSC_boss_timmy_the_cruel();
-extern void AddSC_boss_postmaster_malown();
-extern void AddSC_boss_baron_rivendare();
-extern void AddSC_boss_dathrohan_balnazzar();
-extern void AddSC_boss_order_of_silver_hand();
-extern void AddSC_instance_stratholme();
-extern void AddSC_stratholme();
-
-//Sunken Temple
-//Sunwell Plateau
-extern void AddSC_instance_sunwell_plateau();
-extern void AddSC_boss_kalecgos();
-extern void AddSC_boss_brutallus();
-extern void AddSC_boss_felmyst();
-extern void AddSC_boss_eredar_twins();
-extern void AddSC_boss_muru();
-extern void AddSC_boss_kiljaeden();
-extern void AddSC_sunwell_plateau();
-
-//Tanaris
-extern void AddSC_tanaris();
-
-//Teldrassil
- extern void AddSC_teldrassil();
-
-//Tempest Keep
-//--Arcatraz
-extern void AddSC_arcatraz();
-extern void AddSC_boss_harbinger_skyriss();
-extern void AddSC_instance_arcatraz();
-
-//--Botanica
-extern void AddSC_boss_high_botanist_freywinn();
-extern void AddSC_boss_laj();
-extern void AddSC_boss_warp_splinter();
-
-//--The Eye
-extern void AddSC_boss_alar();
-extern void AddSC_boss_kaelthas();
-extern void AddSC_boss_void_reaver();
-extern void AddSC_boss_high_astromancer_solarian();
-extern void AddSC_instance_the_eye();
-extern void AddSC_the_eye();
-
-//--The Mechanar
-extern void AddSC_boss_gatewatcher_iron_hand();
-extern void AddSC_boss_nethermancer_sepethrea();
-extern void AddSC_boss_pathaleon_the_calculator();
-extern void AddSC_instance_mechanar();
-
-//Temple of ahn'qiraj
-extern void AddSC_boss_cthun();
-extern void AddSC_boss_fankriss();
-extern void AddSC_boss_huhuran();
-extern void AddSC_bug_trio();
-extern void AddSC_boss_sartura();
-extern void AddSC_boss_skeram();
-extern void AddSC_boss_twinemperors();
-extern void AddSC_mob_anubisath_sentinel();
-extern void AddSC_instance_temple_of_ahnqiraj();
-
-//Terokkar Forest
-extern void AddSC_terokkar_forest();
-
-//Thousand Needles
-extern void AddSC_thousand_needles();
-
-//Thunder Bluff
-extern void AddSC_thunder_bluff();
-
-//Tirisfal Glades
-extern void AddSC_tirisfal_glades();
-
-//Uldaman
-extern void AddSC_boss_archaedas();
-extern void AddSC_boss_ironaya();
-extern void AddSC_uldaman();
-extern void AddSC_instance_uldaman();
-
-//Undercity
-extern void AddSC_undercity();
-
-//Un'Goro Crater
-extern void AddSC_ungoro_crater();
-
-//Upper blackrock spire
-
-//Utgarde Keep
-extern void AddSC_boss_keleseth();
-extern void AddSC_boss_skarvald_dalronn();
-extern void AddSC_boss_ingvar_the_plunderer();
-extern void AddSC_instance_utgarde_keep();
-extern void AddSC_utgarde_keep();
-
-//Wailing caverns
-extern void AddSC_wailing_caverns();
-extern void AddSC_instance_wailing_caverns();
-
-//Western plaguelands
-extern void AddSC_western_plaguelands();
-
-//Westfall
-extern void AddSC_westfall();
-
-//Wetlands
-//Winterspring
-extern void AddSC_winterspring();
-
-//Zangarmarsh
-extern void AddSC_zangarmarsh();
-
-//Zul'Farrak
-extern void AddSC_zulfarrak();
-
-//Zul'Gurub
-extern void AddSC_boss_jeklik();
-extern void AddSC_boss_venoxis();
-extern void AddSC_boss_marli();
-extern void AddSC_boss_mandokir();
-extern void AddSC_boss_gahzranka();
-extern void AddSC_boss_thekal();
-extern void AddSC_boss_arlokk();
-extern void AddSC_boss_jindo();
-extern void AddSC_boss_hakkar();
-extern void AddSC_boss_grilek();
-extern void AddSC_boss_hazzarah();
-extern void AddSC_boss_renataki();
-extern void AddSC_boss_wushoolay();
-extern void AddSC_instance_zulgurub();
-
-//Zul'Aman
-extern void AddSC_boss_akilzon();
-extern void AddSC_boss_halazzi();
-extern void AddSC_boss_hex_lord_malacrass();
-extern void AddSC_boss_janalai();
-extern void AddSC_boss_nalorakk();
-extern void AddSC_boss_zuljin();
-extern void AddSC_instance_zulaman();
-extern void AddSC_zulaman();
-
-//Zul'Drak
-extern void AddSC_zuldrak();
-
-//Northrend
-//Dungeon
-
-//Vault of Archavon
-extern void AddSC_boss_archavon();
-extern void AddSC_boss_emalon();
-extern void AddSC_instance_archavon();
-
-//Ulduar
-extern void AddSC_boss_auriaya();
-extern void AddSC_boss_flame_leviathan();
-extern void AddSC_boss_ignis();
-extern void AddSC_boss_razorscale();
-extern void AddSC_boss_xt002();
-//extern void AddSC_instance_ulduar();
-
-//Halls of Lightning
-extern void AddSC_boss_bjarngrim();
-extern void AddSC_boss_loken();
-extern void AddSC_instance_halls_of_lightning();
-
-//Region
-extern void AddSC_wintergrasp();
-
-// -------------------
void LoadDatabase()
{
//Get db string from file
@@ -979,646 +339,7 @@ void ScriptsInit(char const* cfg_file = "trinitycore.conf")
FillSpellSummary();
- // -- Scripts to be added --
-
- // -- Areatrigger --
- AddSC_areatrigger_scripts();
-
- // -- Boss --
- AddSC_boss_emeriss();
- AddSC_boss_taerar();
- AddSC_boss_ysondre();
-
- // -- Creature --
- AddSC_generic_creature();
-
- // -- Custom --
-
- // -- Examples --
- AddSC_example_creature();
- AddSC_example_escort();
- AddSC_example_gossip_codebox();
- AddSC_example_misc();
-
- // -- GO --
- AddSC_go_scripts();
-
- // -- Guard --
- AddSC_guards();
-
- // -- Honor --
-
- // -- Item --
- AddSC_item_scripts();
-
- // -- NPC --
- AddSC_npc_professions();
- AddSC_npcs_special();
- AddSC_npc_taxi();
-
- // -- Servers --
-
- //--------------------
- //------ ZONE --------
-
- //Alterac Mountains
- //AddSC_alterac_mountains();
-
- //Arathi Highlands
- AddSC_arathi_highlands();
-
- //Ashenvale Forest
- AddSC_ashenvale();
-
- //Aunchindoun
- //--Auchenai Crypts
- AddSC_boss_exarch_maladaar();
- AddSC_boss_shirrak_the_dead_watcher();
-
- //--Mana Tombs
- AddSC_boss_nexusprince_shaffar();
- AddSC_boss_pandemonius();
-
- //--Sekketh Halls
- AddSC_boss_darkweaver_syth();
- AddSC_boss_talon_king_ikiss();
- AddSC_instance_sethekk_halls();
-
- //--Shadow Labyrinth
- AddSC_boss_ambassador_hellmaw();
- AddSC_boss_blackheart_the_inciter();
- AddSC_boss_grandmaster_vorpil();
- AddSC_boss_murmur();
- AddSC_instance_shadow_labyrinth();
-
- //Azjol-Nerub
- //--Ahn'kahet
- AddSC_instance_ahnkahet();
- AddSC_boss_elder_nadox();
-
- //Azshara
- AddSC_boss_azuregos();
- AddSC_azshara();
-
- //Azuremyst Isle
- AddSC_azuremyst_isle();
-
- //Badlands
- //Barrens
- AddSC_the_barrens();
-
- //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();
-
- //Blackfathom Depths
- AddSC_instance_blackfathom_deeps();
-
- //Blackrock Depths
- AddSC_blackrock_depths();
- AddSC_boss_ambassador_flamelash();
- AddSC_boss_anubshiah();
- AddSC_boss_draganthaurissan();
- AddSC_boss_general_angerforge();
- AddSC_boss_gorosh_the_dervish();
- AddSC_boss_grizzle();
- AddSC_boss_high_interrogator_gerstahn();
- AddSC_boss_magmus();
- AddSC_boss_moira_bronzebeard();
- AddSC_boss_tomb_of_seven();
- AddSC_instance_blackrock_depths();
-
- //Blackrock Spire
- AddSC_boss_drakkisath();
- 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();
-
- //Blackwing lair
- AddSC_boss_razorgore();
- AddSC_boss_vael();
- AddSC_boss_broodlord();
- AddSC_boss_firemaw();
- AddSC_boss_ebonroc();
- AddSC_boss_flamegor();
- AddSC_boss_chromaggus();
- AddSC_boss_nefarian();
- AddSC_boss_victor_nefarius();
-
- //Blade's Edge Mountains
- AddSC_blades_edge_mountains();
-
- //Blasted lands
- AddSC_boss_kruul();
- AddSC_blasted_lands();
-
- //Bloodmyst Isle
- AddSC_bloodmyst_isle();
-
- //Borean Tundra
- AddSC_borean_tundra();
-
- //Burning steppes
- AddSC_burning_steppes();
-
- //Caverns of Time
- //--Battle for Mt. Hyjal
- AddSC_hyjal();
- AddSC_boss_archimonde();
- AddSC_instance_mount_hyjal();
- AddSC_hyjal_trash();
- AddSC_boss_rage_winterchill();
- AddSC_boss_anetheron();
- AddSC_boss_kazrogal();
- AddSC_boss_azgalor();
-
- //--Old Hillsbrad
- AddSC_boss_captain_skarloc();
- AddSC_boss_epoch_hunter();
- AddSC_boss_lieutenant_drake();
- AddSC_instance_old_hillsbrad();
- AddSC_old_hillsbrad();
-
- //--The Dark Portal
- AddSC_boss_aeonus();
- AddSC_boss_chrono_lord_deja();
- AddSC_boss_temporus();
- AddSC_dark_portal();
- AddSC_instance_dark_portal();
-
- //Coilfang Resevoir
- //--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();
-
- //--Slave Pens
- //--Steam Vault
- AddSC_boss_hydromancer_thespia();
- AddSC_boss_mekgineer_steamrigger();
- AddSC_boss_warlord_kalithresh();
- AddSC_instance_steam_vault();
-
- //--Underbog
- AddSC_boss_hungarfen();
- AddSC_boss_the_black_stalker();
-
- //Darkshore
- AddSC_darkshore();
-
- //Darnassus
- //Deadmines
- AddSC_instance_deadmines();
-
- //Deadwind pass
- //Desolace
- AddSC_desolace();
-
- //Dire Maul
-
- AddSC_dragonblight();
-
- //Dun Morogh
- AddSC_dun_morogh();
-
- //Durotar
- //Duskwood
- //Dustwallow marsh
- AddSC_dustwallow_marsh();
-
- //Eversong Woods
- AddSC_eversong_woods();
-
- //Exodar
- //Eastern Plaguelands
- AddSC_eastern_plaguelands();
- AddSC_the_scarlet_enclave();
-
- //Elwynn Forest
- AddSC_elwynn_forest();
-
- //Felwood
- AddSC_felwood();
-
- //Feralas
- AddSC_feralas();
-
- //Ghostlands
- AddSC_ghostlands();
-
- //Gnomeregan
-
- //Grizzly Hills
- AddSC_grizzly_hills();
-
- //Gruul's Lair
- AddSC_boss_gruul();
- AddSC_boss_high_king_maulgar();
- AddSC_instance_gruuls_lair();
-
- //Hellfire Citadel
- //--Blood Furnace
- AddSC_boss_broggok();
- AddSC_boss_kelidan_the_breaker();
- AddSC_boss_the_maker();
- AddSC_instance_blood_furnace();
-
- //--Magtheridon's Lair
- AddSC_boss_magtheridon();
- AddSC_instance_magtheridons_lair();
-
- //--Shattered Halls
- AddSC_boss_grand_warlock_nethekurse();
- AddSC_boss_warbringer_omrogg();
- AddSC_boss_warchief_kargath_bladefist();
- AddSC_instance_shattered_halls();
-
- //--Ramparts
- AddSC_boss_watchkeeper_gargolmar();
- AddSC_boss_omor_the_unscarred();
- AddSC_boss_vazruden_the_herald();
- AddSC_instance_ramparts();
-
- //Hellfire Peninsula
- AddSC_boss_doomlordkazzak();
- AddSC_hellfire_peninsula();
-
- //Hillsbrad Foothills
- //Hinterlands
- AddSC_hinterlands();
-
- //Icecrown
- AddSC_icecrown();
-
- //Ironforge
- AddSC_ironforge();
-
- //Isle of Quel'Danas
- AddSC_isle_of_queldanas();
-
- //Karazhan
- AddSC_boss_attumen();
- 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();
-
- //Loch Modan
- AddSC_loch_modan();
-
- //Lower Blackrock Spire
-
- // Magister's Terrace
- AddSC_boss_felblood_kaelthas();
- AddSC_boss_selin_fireheart();
- AddSC_boss_vexallus();
- AddSC_boss_priestess_delrissa();
- AddSC_instance_magisters_terrace();
- AddSC_magisters_terrace();
-
- //Maraudon
- AddSC_boss_celebras_the_cursed();
- AddSC_boss_landslide();
- AddSC_boss_noxxion();
- AddSC_boss_ptheradras();
-
- //Molten core
- AddSC_boss_lucifron();
- 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_molten_core();
-
- //Moonglade
- AddSC_moonglade();
-
- //Mulgore
- AddSC_mulgore();
-
- //Nagrand
- AddSC_nagrand();
-
- //Naxxramas
- AddSC_boss_anubrekhan();
- AddSC_boss_faerlina();
- 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_heigan();
- AddSC_boss_gothik();
- AddSC_boss_thaddius();
- AddSC_instance_naxxramas();
-
- //Netherstorm
- AddSC_netherstorm();
-
- //The Nexus
- AddSC_boss_magus_telestra();
- AddSC_boss_anomalus();
- AddSC_boss_ormorok();
- AddSC_boss_keristrasza();
- AddSC_instance_nexus();
-
- //Obsidian Sanctum
- AddSC_instance_obsidian_sanctum();
-
- //Onyxia's Lair
- AddSC_boss_onyxia();
-
- //Orgrimmar
- AddSC_orgrimmar();
-
- //Ragefire Chasm
- //Razorfen Downs
- AddSC_boss_amnennar_the_coldbringer();
- AddSC_razorfen_downs();
-
- //Razorfen Kraul
- AddSC_razorfen_kraul();
-
- //Redridge Mountains
- //Ruins of Ahn'Qiraj
- //Scarlet Monastery
- AddSC_boss_arcanist_doan();
- 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();
-
- //Scholomance
- AddSC_boss_darkmaster_gandling();
- 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_instance_scholomance();
-
- //Searing gorge
- AddSC_searing_gorge();
-
- //Shadowfang keep
- AddSC_shadowfang_keep();
- AddSC_instance_shadowfang_keep();
-
- //Shadowmoon Valley
- AddSC_boss_doomwalker();
- AddSC_shadowmoon_valley();
-
- //Shattrath
- AddSC_shattrath_city();
-
- //Sholazar Basin
- AddSC_sholazar_basin();
-
- //Silithus
- AddSC_silithus();
-
- //Silvermoon
- AddSC_silvermoon_city();
-
- //Silverpine forest
- AddSC_silverpine_forest();
-
- //Stockade
- //Stonetalon mountains
- AddSC_stonetalon_mountains();
-
- //Stormwind City
- AddSC_stormwind_city();
-
- //Stranglethorn Vale
- AddSC_stranglethorn_vale();
-
- //Stratholme
- AddSC_boss_magistrate_barthilas();
- 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();
-
- //Sunken Temple
- //Sunwell Plateau
- AddSC_instance_sunwell_plateau();
- AddSC_boss_kalecgos();
- AddSC_boss_brutallus();
- AddSC_boss_felmyst();
- AddSC_boss_eredar_twins();
- AddSC_boss_muru();
- AddSC_boss_kiljaeden();
- AddSC_sunwell_plateau();
-
- //Tanaris
- AddSC_tanaris();
-
- //Teldrassil
- AddSC_teldrassil();
-
- //Tempest Keep
- //--Arcatraz
- AddSC_arcatraz();
- AddSC_boss_harbinger_skyriss();
- AddSC_instance_arcatraz();
-
- //--Botanica
- AddSC_boss_high_botanist_freywinn();
- AddSC_boss_laj();
- AddSC_boss_warp_splinter();
-
- //--The Eye
- AddSC_boss_alar();
- AddSC_boss_kaelthas();
- AddSC_boss_void_reaver();
- AddSC_boss_high_astromancer_solarian();
- AddSC_instance_the_eye();
- AddSC_the_eye();
-
- //--The Mechanar
- AddSC_boss_gatewatcher_iron_hand();
- AddSC_boss_nethermancer_sepethrea();
- AddSC_boss_pathaleon_the_calculator();
- AddSC_instance_mechanar();
-
- //Temple of ahn'qiraj
- AddSC_boss_cthun();
- AddSC_boss_fankriss();
- AddSC_boss_huhuran();
- AddSC_bug_trio();
- AddSC_boss_sartura();
- AddSC_boss_skeram();
- AddSC_boss_twinemperors();
- AddSC_mob_anubisath_sentinel();
- AddSC_instance_temple_of_ahnqiraj();
-
- //Terokkar Forest
- AddSC_terokkar_forest();
-
- //Thousand Needles
- AddSC_thousand_needles();
-
- //Thunder Bluff
- AddSC_thunder_bluff();
-
- //Tirisfal Glades
- AddSC_tirisfal_glades();
-
- //Uldaman
- AddSC_boss_archaedas();
- AddSC_boss_ironaya();
- AddSC_uldaman();
- AddSC_instance_uldaman();
-
- //Undercity
- AddSC_undercity();
-
- //Un'Goro Crater
- AddSC_ungoro_crater();
-
- //Upper blackrock spire
-
- //Utgarde Keep
- AddSC_boss_keleseth();
- AddSC_boss_skarvald_dalronn();
- AddSC_boss_ingvar_the_plunderer();
- AddSC_instance_utgarde_keep();
- AddSC_utgarde_keep();
-
- //Wailing caverns
- AddSC_wailing_caverns();
- AddSC_instance_wailing_caverns();
-
- //Western plaguelands
- AddSC_western_plaguelands();
-
- //Westfall
- AddSC_westfall();
-
- //Wetlands
- //Winterspring
- AddSC_winterspring();
-
- //Zangarmarsh
- AddSC_zangarmarsh();
-
- //Zul'Farrak
- AddSC_zulfarrak();
-
- //Zul'Gurub
- AddSC_boss_jeklik();
- AddSC_boss_venoxis();
- AddSC_boss_marli();
- AddSC_boss_mandokir();
- AddSC_boss_gahzranka();
- AddSC_boss_thekal();
- AddSC_boss_arlokk();
- AddSC_boss_jindo();
- AddSC_boss_hakkar();
- AddSC_boss_grilek();
- AddSC_boss_hazzarah();
- AddSC_boss_renataki();
- AddSC_boss_wushoolay();
- AddSC_instance_zulgurub();
-
- //Zul'Aman
- AddSC_boss_akilzon();
- AddSC_boss_halazzi();
- AddSC_boss_hex_lord_malacrass();
- AddSC_boss_janalai();
- AddSC_boss_nalorakk();
- AddSC_boss_zuljin();
- AddSC_instance_zulaman();
- AddSC_zulaman();
-
- //Zul'Drak
- AddSC_zuldrak();
-
- //Northrend
- //Dungeon
-
- //Vault of Archavon
- AddSC_boss_archavon();
- AddSC_boss_emalon();
- AddSC_instance_archavon();
-
- //Ulduar
- AddSC_boss_auriaya();
- AddSC_boss_flame_leviathan();
- AddSC_boss_ignis();
- AddSC_boss_razorscale();
- AddSC_boss_xt002();
- //AddSC_instance_ulduar();
-
- //Halls of Lightning
- AddSC_boss_bjarngrim();
- AddSC_boss_loken();
- AddSC_instance_halls_of_lightning();
-
- //Region
- AddSC_wintergrasp();
-
- // -------------------
+ AddScripts();
outstring_log(">> Loaded %i C++ Scripts.", num_sc_scripts);
diff --git a/src/bindings/scripts/ScriptMgr.h b/src/bindings/scripts/ScriptMgr.h
index 06830532c9b..ad341a98098 100644
--- a/src/bindings/scripts/ScriptMgr.h
+++ b/src/bindings/scripts/ScriptMgr.h
@@ -5,8 +5,8 @@
* This program is free software licensed under GPL version 2
* Please see the included DOCS/LICENSE.TXT for more information */
-#ifndef SCRIPTMGR_H
-#define SCRIPTMGR_H
+#ifndef SC_SCRIPTMGR_H
+#define SC_SCRIPTMGR_H
#include "Common.h"
#include "Platform/CompilerDefs.h"
diff --git a/src/bindings/scripts/VC80/80ScriptDev2.vcproj b/src/bindings/scripts/VC80/80ScriptDev2.vcproj
index e4a32705566..2ddcba982b5 100644
--- a/src/bindings/scripts/VC80/80ScriptDev2.vcproj
+++ b/src/bindings/scripts/VC80/80ScriptDev2.vcproj
@@ -46,7 +46,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
+ AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_WINDOWS;_USRDLL;SCRIPT"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -131,7 +131,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
+ AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_WINDOWS;_USRDLL;SCRIPT"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -215,7 +215,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/MP"
- AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
+ AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT;_SECURE_SCL=0"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
@@ -300,7 +300,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/MP"
- AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
+ AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT;_SECURE_SCL=0"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
@@ -361,55 +361,47 @@
</References>
<Files>
<Filter
- Name="scripts"
+ Name="base"
>
- <Filter
- Name="areatrigger"
+ <File
+ RelativePath="..\base\escortAI.cpp"
>
- <File
- RelativePath="..\scripts\areatrigger\areatrigger_scripts.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="boss"
+ </File>
+ <File
+ RelativePath="..\base\escortAI.h"
>
- <File
- RelativePath="..\scripts\boss\boss_emeriss.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\boss\boss_lethon.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\boss\boss_taerar.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\boss\boss_ysondre.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="creature"
+ </File>
+ <File
+ RelativePath="..\base\guard_ai.cpp"
>
- <File
- RelativePath="..\scripts\creature\mob_generic_creature.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\creature\simple_ai.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\creature\simple_ai.h"
- >
- </File>
- </Filter>
+ </File>
+ <File
+ RelativePath="..\base\guard_ai.h"
+ >
+ </File>
+ <File
+ RelativePath="..\base\simple_ai.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\base\simple_ai.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="scripts"
+ >
<Filter
Name="eastern_kingdoms"
>
+ <Filter
+ Name="scarlet_enclave"
+ >
+ <File
+ RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\the_scarlet_enclave.cpp"
+ >
+ </File>
+ </Filter>
<File
RelativePath="..\scripts\eastern_kingdoms\alterac_mountains.cpp"
>
@@ -459,6 +451,10 @@
>
</File>
<File
+ RelativePath="..\scripts\eastern_kingdoms\isle_of_queldanas.cpp"
+ >
+ </File>
+ <File
RelativePath="..\scripts\eastern_kingdoms\loch_modan.cpp"
>
</File>
@@ -520,38 +516,6 @@
</File>
</Filter>
<Filter
- Name="go"
- >
- <File
- RelativePath="..\scripts\go\go_scripts.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="guard"
- >
- <File
- RelativePath="..\scripts\guard\guard_ai.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\guard\guard_ai.h"
- >
- </File>
- <File
- RelativePath="..\scripts\guard\guards.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="item"
- >
- <File
- RelativePath="..\scripts\item\item_scripts.cpp"
- >
- </File>
- </Filter>
- <Filter
Name="kalimdor"
>
<File
@@ -667,34 +631,6 @@
</File>
</Filter>
<Filter
- Name="npc"
- >
- <File
- RelativePath="..\scripts\npc\npc_escortAI.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\npc\npc_escortAI.h"
- >
- </File>
- <File
- RelativePath="..\scripts\npc\npc_innkeeper.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\npc\npc_professions.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\npc\npc_taxi.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\npc\npcs_special.cpp"
- >
- </File>
- </Filter>
- <Filter
Name="outland"
>
<File
@@ -714,10 +650,6 @@
>
</File>
<File
- RelativePath="..\scripts\outland\isle_of_queldanas.cpp"
- >
- </File>
- <File
RelativePath="..\scripts\outland\nagrand.cpp"
>
</File>
@@ -1402,22 +1334,6 @@
</File>
</Filter>
<Filter
- Name="Duskwood"
- >
- </Filter>
- <Filter
- Name="Eastern Plaguelands"
- >
- <File
- RelativePath="..\scripts\zone\eastern_plaguelands\the_scarlet_enclave.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Redridge Mountains"
- >
- </Filter>
- <Filter
Name="Scarlet Monastery"
>
<File
@@ -2776,14 +2692,6 @@
</Filter>
</Filter>
<Filter
- Name="honor"
- >
- </Filter>
- <Filter
- Name="servers"
- >
- </Filter>
- <Filter
Name="custom"
>
<File
@@ -2796,6 +2704,62 @@
</File>
</Filter>
</Filter>
+ <Filter
+ Name="world"
+ >
+ <File
+ RelativePath="..\scripts\world\areatrigger_scripts.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\boss_emeriss.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\boss_lethon.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\boss_taerar.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\boss_ysondre.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\go_scripts.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\guards.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\item_scripts.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\mob_generic_creature.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\npc_innkeeper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\npc_professions.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\npc_taxi.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\npcs_special.cpp"
+ >
+ </File>
+ </Filter>
<Filter
Name="Include"
>
@@ -2860,6 +2824,18 @@
>
</File>
</Filter>
+ <Filter
+ Name="system"
+ >
+ <File
+ RelativePath="..\system\ScriptLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\system\ScriptLoader.h"
+ >
+ </File>
+ </Filter>
<File
RelativePath="..\ScriptMgr.cpp"
>
diff --git a/src/bindings/scripts/VC90/90ScriptDev2.vcproj b/src/bindings/scripts/VC90/90ScriptDev2.vcproj
index 8aa552725ed..85946ca217c 100644
--- a/src/bindings/scripts/VC90/90ScriptDev2.vcproj
+++ b/src/bindings/scripts/VC90/90ScriptDev2.vcproj
@@ -46,7 +46,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
+ AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_WINDOWS;_USRDLL;SCRIPT"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -130,7 +130,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
+ AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_WINDOWS;_USRDLL;SCRIPT"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -213,7 +213,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/MP"
- AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
+ AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT;_SECURE_SCL=0"
MinimalRebuild="false"
RuntimeLibrary="2"
@@ -297,7 +297,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/MP"
- AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
+ AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT;_SECURE_SCL=0"
MinimalRebuild="false"
RuntimeLibrary="2"
@@ -358,55 +358,47 @@
</References>
<Files>
<Filter
- Name="scripts"
+ Name="base"
>
- <Filter
- Name="areatrigger"
+ <File
+ RelativePath="..\base\escortAI.cpp"
>
- <File
- RelativePath="..\scripts\areatrigger\areatrigger_scripts.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="boss"
+ </File>
+ <File
+ RelativePath="..\base\escortAI.h"
>
- <File
- RelativePath="..\scripts\boss\boss_emeriss.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\boss\boss_lethon.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\boss\boss_taerar.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\boss\boss_ysondre.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="creature"
+ </File>
+ <File
+ RelativePath="..\base\guard_ai.cpp"
>
- <File
- RelativePath="..\scripts\creature\mob_generic_creature.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\creature\simple_ai.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\creature\simple_ai.h"
- >
- </File>
- </Filter>
+ </File>
+ <File
+ RelativePath="..\base\guard_ai.h"
+ >
+ </File>
+ <File
+ RelativePath="..\base\simple_ai.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\base\simple_ai.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="scripts"
+ >
<Filter
Name="eastern_kingdoms"
>
+ <Filter
+ Name="scarlet_enclave"
+ >
+ <File
+ RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\the_scarlet_enclave.cpp"
+ >
+ </File>
+ </Filter>
<File
RelativePath="..\scripts\eastern_kingdoms\alterac_mountains.cpp"
>
@@ -456,6 +448,10 @@
>
</File>
<File
+ RelativePath="..\scripts\eastern_kingdoms\isle_of_queldanas.cpp"
+ >
+ </File>
+ <File
RelativePath="..\scripts\eastern_kingdoms\loch_modan.cpp"
>
</File>
@@ -517,38 +513,6 @@
</File>
</Filter>
<Filter
- Name="go"
- >
- <File
- RelativePath="..\scripts\go\go_scripts.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="guard"
- >
- <File
- RelativePath="..\scripts\guard\guard_ai.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\guard\guard_ai.h"
- >
- </File>
- <File
- RelativePath="..\scripts\guard\guards.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="item"
- >
- <File
- RelativePath="..\scripts\item\item_scripts.cpp"
- >
- </File>
- </Filter>
- <Filter
Name="kalimdor"
>
<File
@@ -664,34 +628,6 @@
</File>
</Filter>
<Filter
- Name="npc"
- >
- <File
- RelativePath="..\scripts\npc\npc_escortAI.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\npc\npc_escortAI.h"
- >
- </File>
- <File
- RelativePath="..\scripts\npc\npc_innkeeper.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\npc\npc_professions.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\npc\npc_taxi.cpp"
- >
- </File>
- <File
- RelativePath="..\scripts\npc\npcs_special.cpp"
- >
- </File>
- </Filter>
- <Filter
Name="outland"
>
<File
@@ -711,10 +647,6 @@
>
</File>
<File
- RelativePath="..\scripts\outland\isle_of_queldanas.cpp"
- >
- </File>
- <File
RelativePath="..\scripts\outland\nagrand.cpp"
>
</File>
@@ -1399,22 +1331,6 @@
</File>
</Filter>
<Filter
- Name="Duskwood"
- >
- </Filter>
- <Filter
- Name="Eastern Plaguelands"
- >
- <File
- RelativePath="..\scripts\zone\eastern_plaguelands\the_scarlet_enclave.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Redridge Mountains"
- >
- </Filter>
- <Filter
Name="Scarlet Monastery"
>
<File
@@ -2773,14 +2689,6 @@
</Filter>
</Filter>
<Filter
- Name="honor"
- >
- </Filter>
- <Filter
- Name="servers"
- >
- </Filter>
- <Filter
Name="custom"
>
<File
@@ -2793,6 +2701,62 @@
</File>
</Filter>
</Filter>
+ <Filter
+ Name="world"
+ >
+ <File
+ RelativePath="..\scripts\world\areatrigger_scripts.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\boss_emeriss.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\boss_lethon.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\boss_taerar.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\boss_ysondre.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\go_scripts.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\guards.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\item_scripts.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\mob_generic_creature.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\npc_innkeeper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\npc_professions.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\npc_taxi.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\scripts\world\npcs_special.cpp"
+ >
+ </File>
+ </Filter>
<Filter
Name="Include"
>
@@ -2857,6 +2821,18 @@
>
</File>
</Filter>
+ <Filter
+ Name="system"
+ >
+ <File
+ RelativePath="..\system\ScriptLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\system\ScriptLoader.h"
+ >
+ </File>
+ </Filter>
<File
RelativePath="..\ScriptMgr.cpp"
>
diff --git a/src/bindings/scripts/scripts/npc/npc_escortAI.cpp b/src/bindings/scripts/base/escortAI.cpp
index b04c349eb96..52b398cd59c 100644
--- a/src/bindings/scripts/scripts/npc/npc_escortAI.cpp
+++ b/src/bindings/scripts/base/escortAI.cpp
@@ -10,7 +10,7 @@ SDCategory: Npc
EndScriptData */
#include "precompiled.h"
-#include "npc_escortAI.h"
+#include "escortAI.h"
enum
{
@@ -345,6 +345,11 @@ void npc_escortAI::Start(bool bIsActiveAttacker, bool bRun, uint64 uiPlayerGUID,
return;
}
+ if (!WaypointList.empty())
+ WaypointList.clear();
+
+ FillPointMovementListForCreature();
+
if (WaypointList.empty())
{
error_db_log("TSCR: EscortAI Start with 0 waypoints (possible missing entry in script_waypoint)");
diff --git a/src/bindings/scripts/scripts/npc/npc_escortAI.h b/src/bindings/scripts/base/escortAI.h
index 90a99152b68..90a99152b68 100644
--- a/src/bindings/scripts/scripts/npc/npc_escortAI.h
+++ b/src/bindings/scripts/base/escortAI.h
diff --git a/src/bindings/scripts/scripts/guard/guard_ai.cpp b/src/bindings/scripts/base/guard_ai.cpp
index 7f1daa1e2df..7f1daa1e2df 100644
--- a/src/bindings/scripts/scripts/guard/guard_ai.cpp
+++ b/src/bindings/scripts/base/guard_ai.cpp
diff --git a/src/bindings/scripts/scripts/guard/guard_ai.h b/src/bindings/scripts/base/guard_ai.h
index 85baa30fb9d..85baa30fb9d 100644
--- a/src/bindings/scripts/scripts/guard/guard_ai.h
+++ b/src/bindings/scripts/base/guard_ai.h
diff --git a/src/bindings/scripts/scripts/creature/simple_ai.cpp b/src/bindings/scripts/base/simple_ai.cpp
index d4755cfac8b..d4755cfac8b 100644
--- a/src/bindings/scripts/scripts/creature/simple_ai.cpp
+++ b/src/bindings/scripts/base/simple_ai.cpp
diff --git a/src/bindings/scripts/scripts/creature/simple_ai.h b/src/bindings/scripts/base/simple_ai.h
index 3a2e8a9341a..3a2e8a9341a 100644
--- a/src/bindings/scripts/scripts/creature/simple_ai.h
+++ b/src/bindings/scripts/base/simple_ai.h
diff --git a/src/bindings/scripts/include/sc_gossip.h b/src/bindings/scripts/include/sc_gossip.h
index 183c8487a74..454aef99de0 100644
--- a/src/bindings/scripts/include/sc_gossip.h
+++ b/src/bindings/scripts/include/sc_gossip.h
@@ -5,8 +5,8 @@
* This program is free software licensed under GPL version 2
* Please see the included DOCS/LICENSE.TXT for more information */
-#ifndef SC_PLAYER_H
-#define SC_PLAYER_H
+#ifndef SC_GOSSIP_H
+#define SC_GOSSIP_H
#include "Player.h"
#include "GossipDef.h"
diff --git a/src/bindings/scripts/scripts/custom/test.cpp b/src/bindings/scripts/scripts/custom/test.cpp
index 221411e994b..20a3e2a20e3 100644
--- a/src/bindings/scripts/scripts/custom/test.cpp
+++ b/src/bindings/scripts/scripts/custom/test.cpp
@@ -22,7 +22,7 @@ SDCategory: Script Examples
EndScriptData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI
{
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp
index 18656ca4d98..bc33d9841eb 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp
@@ -26,7 +26,7 @@ npc_professor_phizzlethorpe
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_professor_phizzlethorpe
@@ -114,11 +114,7 @@ bool QuestAccept_npc_professor_phizzlethorpe(Player* pPlayer, Creature* pCreatur
CreatureAI* GetAI_npc_professor_phizzlethorpeAI(Creature* pCreature)
{
- npc_professor_phizzlethorpeAI* professor_phizzlethorpeAI = new npc_professor_phizzlethorpeAI(pCreature);
-
- professor_phizzlethorpeAI->FillPointMovementListForCreature();
-
- return professor_phizzlethorpeAI;
+ return new npc_professor_phizzlethorpeAI(pCreature);
}
void AddSC_arathi_highlands()
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp
index 543dd75b499..6c76adeaecb 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp
@@ -30,7 +30,7 @@ go_harbinger_second_trial
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_prospector_anvilward
@@ -85,11 +85,7 @@ struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI
CreatureAI* GetAI_npc_prospector_anvilward(Creature* pCreature)
{
- npc_prospector_anvilwardAI* thisAI = new npc_prospector_anvilwardAI(pCreature);
-
- thisAI->FillPointMovementListForCreature();
-
- return thisAI;
+ return new npc_prospector_anvilwardAI(pCreature);
}
bool GossipHello_npc_prospector_anvilward(Player* pPlayer, Creature* pCreature)
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp
index f2fbb26ea70..c96923661de 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp
@@ -29,7 +29,7 @@ npc_ranger_lilatha
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_blood_knight_dawnstar
@@ -234,11 +234,7 @@ bool QuestAccept_npc_ranger_lilatha(Player* pPlayer, Creature* pCreature, Quest
CreatureAI* GetAI_npc_ranger_lilathaAI(Creature* pCreature)
{
- npc_ranger_lilathaAI* ranger_lilathaAI = new npc_ranger_lilathaAI(pCreature);
-
- ranger_lilathaAI->FillPointMovementListForCreature();
-
- return ranger_lilathaAI;
+ return new npc_ranger_lilathaAI(pCreature);
}
void AddSC_ghostlands()
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp
index 3398daf64c6..46f12159acf 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp
@@ -26,7 +26,7 @@ npc_rinji
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_rinji
@@ -215,11 +215,7 @@ bool QuestAccept_npc_rinji(Player* pPlayer, Creature* pCreature, const Quest* pQ
CreatureAI* GetAI_npc_rinji(Creature* pCreature)
{
- npc_rinjiAI* pTempAI = new npc_rinjiAI(pCreature);
-
- pTempAI->FillPointMovementListForCreature();
-
- return (CreatureAI*)pTempAI;
+ return new npc_rinjiAI(pCreature);
}
void AddSC_hinterlands()
diff --git a/src/bindings/scripts/scripts/outland/isle_of_queldanas.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/isle_of_queldanas.cpp
index 469e2f712f1..469e2f712f1 100644
--- a/src/bindings/scripts/scripts/outland/isle_of_queldanas.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/isle_of_queldanas.cpp
diff --git a/src/bindings/scripts/scripts/zone/eastern_plaguelands/the_scarlet_enclave.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp
index c4eed5c0d24..247a0084e77 100644
--- a/src/bindings/scripts/scripts/zone/eastern_plaguelands/the_scarlet_enclave.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp
@@ -19,7 +19,7 @@
#include "precompiled.h"
#include "Vehicle.h"
#include "ObjectMgr.h"
-#include "../../npc/npc_escortAI.h"
+#include "escortAI.h"
#define GCD_CAST 1
@@ -647,11 +647,7 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI
CreatureAI* GetAI_npc_koltira_deathweaver(Creature* pCreature)
{
- npc_koltira_deathweaverAI* pTempAI = new npc_koltira_deathweaverAI(pCreature);
-
- pTempAI->FillPointMovementListForCreature();
-
- return (CreatureAI*)pTempAI;
+ return new npc_koltira_deathweaverAI(pCreature);
}
bool QuestAccept_npc_koltira_deathweaver(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/silverpine_forest.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/silverpine_forest.cpp
index 2511a931e9c..bd8b2906c92 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/silverpine_forest.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/silverpine_forest.cpp
@@ -27,7 +27,7 @@ npc_deathstalker_erland
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_astor_hadren
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/westfall.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/westfall.cpp
index 93b2bbf049c..3ddaffe6e25 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/westfall.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/westfall.cpp
@@ -27,7 +27,7 @@ npc_defias_traitor
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_daphne_stilwell
@@ -176,11 +176,7 @@ bool QuestAccept_npc_daphne_stilwell(Player* pPlayer, Creature* pCreature, const
CreatureAI* GetAI_npc_daphne_stilwell(Creature* pCreature)
{
- npc_daphne_stilwellAI* thisAI = new npc_daphne_stilwellAI(pCreature);
-
- thisAI->FillPointMovementListForCreature();
-
- return thisAI;
+ return new npc_daphne_stilwellAI(pCreature);
}
/*######
@@ -250,11 +246,7 @@ bool QuestAccept_npc_defias_traitor(Player* pPlayer, Creature* pCreature, Quest
CreatureAI* GetAI_npc_defias_traitor(Creature* pCreature)
{
- npc_defias_traitorAI* thisAI = new npc_defias_traitorAI(pCreature);
-
- thisAI->FillPointMovementListForCreature();
-
- return thisAI;
+ return new npc_defias_traitorAI(pCreature);
}
void AddSC_westfall()
diff --git a/src/bindings/scripts/scripts/examples/example_escort.cpp b/src/bindings/scripts/scripts/examples/example_escort.cpp
index fa1a8432837..23c97fb9b60 100644
--- a/src/bindings/scripts/scripts/examples/example_escort.cpp
+++ b/src/bindings/scripts/scripts/examples/example_escort.cpp
@@ -22,7 +22,7 @@ SDCategory: Script Examples
EndScriptData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
enum
{
@@ -169,18 +169,7 @@ struct TRINITY_DLL_DECL example_escortAI : public npc_escortAI
CreatureAI* GetAI_example_escort(Creature* pCreature)
{
- example_escortAI* pTestAI = new example_escortAI(pCreature);
-
- // this should be done over the db table scriptdev2.script_waypoint
- // when using the db, you have to call this line instead of the ->AddWaypoint():
- // pTestAI->FillPointMovementListForCreature();
- pTestAI->AddWaypoint(0, 1231.0f, -4419.0f, 23.0f);
- pTestAI->AddWaypoint(1, 1198.0f, -4440.0f, 23.0f);
- pTestAI->AddWaypoint(2, 1208.0f, -4392.0f, 23.0f);
- pTestAI->AddWaypoint(3, 1231.0f, -4419.0f, 23.0f, 5000);
- pTestAI->AddWaypoint(4, 1208.0f, -4392.0f, 23.0f, 5000);
-
- return pTestAI;
+ return new example_escortAI(pCreature);
}
bool GossipHello_example_escort(Player* pPlayer, Creature* pCreature)
diff --git a/src/bindings/scripts/scripts/item/item_test.cpp b/src/bindings/scripts/scripts/item/item_test.cpp
deleted file mode 100644
index 0c2d9ac2793..00000000000
--- a/src/bindings/scripts/scripts/item/item_test.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/* ScriptData
-SDName: Item_Test
-SD%Complete: 100
-SDComment: Used for Testing Item Scripts
-SDCategory: Items
-EndScriptData */
-
-#include "precompiled.h"
-
-extern void LoadDatabase();
-
-bool ItemUse_item_test(Player* pPlayer, Item* _Item, SpellCastTargets const& targets)
-{
- LoadDatabase();
- return true;
-}
-
-void AddSC_item_test()
-{
- Script *newscript;
-
- newscript = new Script;
- newscript->Name="item_test";
- newscript->pItemUse = &ItemUse_item_test;
- newscript->RegisterSelf();
-}
-
diff --git a/src/bindings/scripts/scripts/kalimdor/ashenvale.cpp b/src/bindings/scripts/scripts/kalimdor/ashenvale.cpp
index 5cd150bb5a2..86f3286c92f 100644
--- a/src/bindings/scripts/scripts/kalimdor/ashenvale.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/ashenvale.cpp
@@ -27,7 +27,7 @@ npc_ruul_snowhoof
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*####
# npc_torek
@@ -144,11 +144,7 @@ bool QuestAccept_npc_torek(Player* pPlayer, Creature* pCreature, Quest const* qu
CreatureAI* GetAI_npc_torek(Creature* pCreature)
{
- npc_torekAI* thisAI = new npc_torekAI(pCreature);
-
- thisAI->FillPointMovementListForCreature();
-
- return thisAI;
+ return new npc_torekAI(pCreature);
}
/*####
@@ -230,11 +226,7 @@ bool QuestAccept_npc_ruul_snowhoof(Player* pPlayer, Creature* pCreature, Quest c
CreatureAI* GetAI_npc_ruul_snowhoofAI(Creature* pCreature)
{
- npc_ruul_snowhoofAI* ruul_snowhoofAI = new npc_ruul_snowhoofAI(pCreature);
-
- ruul_snowhoofAI->FillPointMovementListForCreature();
-
- return ruul_snowhoofAI;
+ return new npc_ruul_snowhoofAI(pCreature);
}
void AddSC_ashenvale()
diff --git a/src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp b/src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp
index 8d88a4fcb86..71341f4d0ee 100644
--- a/src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp
@@ -31,7 +31,7 @@ mob_nestlewood_owlkin
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
#include <cmath>
/*######
@@ -383,11 +383,7 @@ bool QuestAccept_npc_magwin(Player* pPlayer, Creature* pCreature, Quest const* q
CreatureAI* GetAI_npc_magwinAI(Creature* pCreature)
{
- npc_magwinAI* magwinAI = new npc_magwinAI(pCreature);
-
- magwinAI->FillPointMovementListForCreature();
-
- return magwinAI;
+ return new npc_magwinAI(pCreature);
}
/*######
diff --git a/src/bindings/scripts/scripts/kalimdor/darkshore.cpp b/src/bindings/scripts/scripts/kalimdor/darkshore.cpp
index 5c81489df3c..fef5cf36e43 100644
--- a/src/bindings/scripts/scripts/kalimdor/darkshore.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/darkshore.cpp
@@ -27,7 +27,7 @@ npc_threshwackonator
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*####
# npc_prospector_remtravel
@@ -145,11 +145,7 @@ struct TRINITY_DLL_DECL npc_prospector_remtravelAI : public npc_escortAI
CreatureAI* GetAI_npc_prospector_remtravel(Creature* pCreature)
{
- npc_prospector_remtravelAI* tempAI = new npc_prospector_remtravelAI(pCreature);
-
- tempAI->FillPointMovementListForCreature();
-
- return tempAI;
+ return new npc_prospector_remtravelAI(pCreature);
}
bool QuestAccept_npc_prospector_remtravel(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
diff --git a/src/bindings/scripts/scripts/kalimdor/feralas.cpp b/src/bindings/scripts/scripts/kalimdor/feralas.cpp
index bcbf3689d2e..826d9cf19f8 100644
--- a/src/bindings/scripts/scripts/kalimdor/feralas.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/feralas.cpp
@@ -22,7 +22,7 @@ SDCategory: Feralas
EndScriptData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_gregan_brewspewer
@@ -143,11 +143,7 @@ struct TRINITY_DLL_DECL npc_oox22feAI : public npc_escortAI
CreatureAI* GetAI_npc_oox22fe(Creature* pCreature)
{
- npc_oox22feAI* oox22AI = new npc_oox22feAI(pCreature);
-
- oox22AI->FillPointMovementListForCreature();
-
- return oox22AI;
+ return new npc_oox22feAI(pCreature);
}
bool QuestAccept_npc_oox22fe(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
diff --git a/src/bindings/scripts/scripts/kalimdor/moonglade.cpp b/src/bindings/scripts/scripts/kalimdor/moonglade.cpp
index 38e754ff6bf..4206e370f4c 100644
--- a/src/bindings/scripts/scripts/kalimdor/moonglade.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/moonglade.cpp
@@ -30,7 +30,7 @@ npc_clintar_dreamwalker
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_bunthen_plainswind
diff --git a/src/bindings/scripts/scripts/kalimdor/mulgore.cpp b/src/bindings/scripts/scripts/kalimdor/mulgore.cpp
index 9a4cc9a1fbd..544cce69d28 100644
--- a/src/bindings/scripts/scripts/kalimdor/mulgore.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/mulgore.cpp
@@ -28,7 +28,7 @@ npc_plains_vision
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
# npc_skorn_whitecloud
diff --git a/src/bindings/scripts/scripts/kalimdor/stonetalon_mountains.cpp b/src/bindings/scripts/scripts/kalimdor/stonetalon_mountains.cpp
index 13269f1e46f..5c9dbe0b199 100644
--- a/src/bindings/scripts/scripts/kalimdor/stonetalon_mountains.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/stonetalon_mountains.cpp
@@ -27,7 +27,7 @@ npc_kaya_flathoof
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_braug_dimspirit
@@ -146,11 +146,7 @@ bool QuestAccept_npc_kaya_flathoof(Player* pPlayer, Creature* pCreature, Quest c
CreatureAI* GetAI_npc_kaya_flathoofAI(Creature* pCreature)
{
- npc_kaya_flathoofAI* kayaAI = new npc_kaya_flathoofAI(pCreature);
-
- kayaAI->FillPointMovementListForCreature();
-
- return kayaAI;
+ return new npc_kaya_flathoofAI(pCreature);
}
/*######
diff --git a/src/bindings/scripts/scripts/kalimdor/tanaris.cpp b/src/bindings/scripts/scripts/kalimdor/tanaris.cpp
index fd8258cdf49..be97636270e 100644
--- a/src/bindings/scripts/scripts/kalimdor/tanaris.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/tanaris.cpp
@@ -32,7 +32,7 @@ npc_tooga
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## mob_aquementas
@@ -214,11 +214,7 @@ struct TRINITY_DLL_DECL npc_custodian_of_timeAI : public npc_escortAI
CreatureAI* GetAI_npc_custodian_of_time(Creature* pCreature)
{
- npc_custodian_of_timeAI* custodian_of_timeAI = new npc_custodian_of_timeAI(pCreature);
-
- custodian_of_timeAI->FillPointMovementListForCreature();
-
- return custodian_of_timeAI;
+ return new npc_custodian_of_timeAI(pCreature);
}
/*######
diff --git a/src/bindings/scripts/scripts/kalimdor/the_barrens.cpp b/src/bindings/scripts/scripts/kalimdor/the_barrens.cpp
index 34a89d8daa2..aff67963445 100644
--- a/src/bindings/scripts/scripts/kalimdor/the_barrens.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/the_barrens.cpp
@@ -31,7 +31,7 @@ npc_wizzlecrank_shredder
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_beaten_corpse
@@ -146,11 +146,7 @@ struct TRINITY_DLL_DECL npc_giltharesAI : public npc_escortAI
CreatureAI* GetAI_npc_gilthares(Creature* pCreature)
{
- npc_giltharesAI* pTempAI = new npc_giltharesAI(pCreature);
-
- pTempAI->FillPointMovementListForCreature();
-
- return (CreatureAI*)pTempAI;
+ return new npc_giltharesAI(pCreature);
}
bool QuestAccept_npc_gilthares(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
diff --git a/src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp b/src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp
index 7dd273757ed..6ec4a1403ab 100644
--- a/src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp
@@ -29,7 +29,7 @@ npc_plucky
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*#####
# npc_kanati
@@ -82,11 +82,7 @@ struct TRINITY_DLL_DECL npc_kanatiAI : public npc_escortAI
CreatureAI* GetAI_npc_kanati(Creature* pCreature)
{
- npc_kanatiAI* pTempAI = new npc_kanatiAI(pCreature);
-
- pTempAI->FillPointMovementListForCreature();
-
- return (CreatureAI*)pTempAI;
+ return new npc_kanatiAI(pCreature);
}
bool QuestAccept_npc_kanati(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
@@ -170,11 +166,7 @@ struct TRINITY_DLL_DECL npc_lakota_windsongAI : public npc_escortAI
CreatureAI* GetAI_npc_lakota_windsong(Creature* pCreature)
{
- npc_lakota_windsongAI* pTempAI = new npc_lakota_windsongAI(pCreature);
-
- pTempAI->FillPointMovementListForCreature();
-
- return (CreatureAI*)pTempAI;
+ return new npc_lakota_windsongAI(pCreature);
}
bool QuestAccept_npc_lakota_windsong(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
@@ -247,11 +239,7 @@ struct TRINITY_DLL_DECL npc_paoka_swiftmountainAI : public npc_escortAI
CreatureAI* GetAI_npc_paoka_swiftmountain(Creature* pCreature)
{
- npc_paoka_swiftmountainAI* pTempAI = new npc_paoka_swiftmountainAI(pCreature);
-
- pTempAI->FillPointMovementListForCreature();
-
- return (CreatureAI*)pTempAI;
+ return new npc_paoka_swiftmountainAI(pCreature);
}
bool QuestAccept_npc_paoka_swiftmountain(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
diff --git a/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp b/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp
index 7691ffbf004..da370ac4978 100644
--- a/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp
+++ b/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp
@@ -26,7 +26,7 @@ npc_injured_rainspeaker_oracle
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_injured_rainspeaker_oracle
@@ -160,11 +160,7 @@ bool QuestAccept_npc_injured_rainspeaker_oracle(Player* pPlayer, Creature* pCrea
CreatureAI* GetAI_npc_injured_rainspeaker_oracle(Creature* pCreature)
{
- npc_injured_rainspeaker_oracleAI* thisAI = new npc_injured_rainspeaker_oracleAI(pCreature);
-
- thisAI->FillPointMovementListForCreature();
-
- return thisAI;
+ return new npc_injured_rainspeaker_oracleAI(pCreature);
}
void AddSC_sholazar_basin()
diff --git a/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp b/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp
index 3688372eff6..da5d0e15699 100644
--- a/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp
+++ b/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp
@@ -24,11 +24,12 @@ EndScriptData */
/* ContentData
npc_aeranas
go_haaleshi_altar
+npc_naladu
npc_wounded_blood_elf
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_aeranas
@@ -127,6 +128,35 @@ bool GOHello_go_haaleshi_altar(Player* pPlayer, GameObject* pGo)
}
/*######
+## npc_naladu
+######*/
+
+#define GOSSIP_NALADU_ITEM1 "Why don't you escape?"
+
+enum
+{
+ GOSSIP_TEXTID_NALADU1 = 9788
+};
+
+bool GossipHello_npc_naladu(Player* pPlayer, Creature* pCreature)
+{
+ if (pCreature->isQuestGiver())
+ pPlayer->PrepareQuestMenu(pCreature->GetGUID());
+
+ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_NALADU_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
+ pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(), pCreature->GetGUID());
+ return true;
+}
+
+bool GossipSelect_npc_naladu(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
+{
+ if (uiAction == GOSSIP_ACTION_INFO_DEF+1)
+ pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_NALADU1, pCreature->GetGUID());
+
+ return true;
+}
+
+/*######
## npc_wounded_blood_elf
######*/
@@ -197,11 +227,7 @@ struct TRINITY_DLL_DECL npc_wounded_blood_elfAI : public npc_escortAI
CreatureAI* GetAI_npc_wounded_blood_elf(Creature* pCreature)
{
- npc_wounded_blood_elfAI* welfAI = new npc_wounded_blood_elfAI(pCreature);
-
- welfAI->FillPointMovementListForCreature();
-
- return welfAI;
+ return new npc_wounded_blood_elfAI(pCreature);
}
bool QuestAccept_npc_wounded_blood_elf(Player* pPlayer, Creature* pCreature, Quest const* quest)
@@ -237,6 +263,12 @@ void AddSC_hellfire_peninsula()
newscript->RegisterSelf();
newscript = new Script;
+ newscript->Name = "npc_naladu";
+ newscript->pGossipHello = &GossipHello_npc_naladu;
+ newscript->pGossipSelect = &GossipSelect_npc_naladu;
+ newscript->RegisterSelf();
+
+ newscript = new Script;
newscript->Name="npc_wounded_blood_elf";
newscript->GetAI = &GetAI_npc_wounded_blood_elf;
newscript->pQuestAccept = &QuestAccept_npc_wounded_blood_elf;
diff --git a/src/bindings/scripts/scripts/outland/netherstorm.cpp b/src/bindings/scripts/scripts/outland/netherstorm.cpp
index 17f545ee5f4..e251951f4aa 100644
--- a/src/bindings/scripts/scripts/outland/netherstorm.cpp
+++ b/src/bindings/scripts/scripts/outland/netherstorm.cpp
@@ -29,7 +29,7 @@ npc_bessy
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_manaforge_control_console
diff --git a/src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp b/src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp
index 4772cb04c8d..41b1ec159b8 100644
--- a/src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp
+++ b/src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp
@@ -40,7 +40,7 @@ npc_enraged_spirit
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*#####
# mob_mature_netherwing_drake
@@ -1017,11 +1017,7 @@ struct TRINITY_DLL_DECL npc_earthmender_wildaAI : public npc_escortAI
CreatureAI* GetAI_npc_earthmender_wilda(Creature* pCreature)
{
- npc_earthmender_wildaAI* pTempAI = new npc_earthmender_wildaAI(pCreature);
-
- pTempAI->FillPointMovementListForCreature();
-
- return (CreatureAI*)pTempAI;
+ return new npc_earthmender_wildaAI(pCreature);
}
bool QuestAccept_npc_earthmender_wilda(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
diff --git a/src/bindings/scripts/scripts/outland/shattrath_city.cpp b/src/bindings/scripts/scripts/outland/shattrath_city.cpp
index 389671c5756..e44aea2e0a0 100644
--- a/src/bindings/scripts/scripts/outland/shattrath_city.cpp
+++ b/src/bindings/scripts/scripts/outland/shattrath_city.cpp
@@ -33,7 +33,7 @@ npc_khadgar
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npc_raliq_the_drunk
@@ -356,11 +356,7 @@ public:
};
CreatureAI* GetAI_npc_kservantAI(Creature* pCreature)
{
- npc_kservantAI* kservantAI = new npc_kservantAI(pCreature);
-
- kservantAI->FillPointMovementListForCreature();
-
- return kservantAI;
+ return new npc_kservantAI(pCreature);
}
/*######
diff --git a/src/bindings/scripts/scripts/outland/terokkar_forest.cpp b/src/bindings/scripts/scripts/outland/terokkar_forest.cpp
index 6b5d828d83d..ebe8c0b944f 100644
--- a/src/bindings/scripts/scripts/outland/terokkar_forest.cpp
+++ b/src/bindings/scripts/scripts/outland/terokkar_forest.cpp
@@ -32,7 +32,7 @@ npc_slim
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## mob_unkor_the_ruthless
@@ -221,11 +221,7 @@ public:
CreatureAI* GetAI_npc_skywingAI(Creature* pCreature)
{
- npc_skywingAI* skywingAI = new npc_skywingAI(pCreature);
-
- skywingAI->FillPointMovementListForCreature();
-
- return skywingAI;
+ return new npc_skywingAI(pCreature);
}
/*######
@@ -675,11 +671,7 @@ bool QuestAccept_npc_akuno(Player* pPlayer, Creature* pCreature, Quest const* pQ
CreatureAI* GetAI_npc_akuno(Creature* pCreature)
{
- npc_akunoAI* thisAI = new npc_akunoAI(pCreature);
-
- thisAI->FillPointMovementListForCreature();
-
- return(CreatureAI*)thisAI;
+ return new npc_akunoAI(pCreature);
}
void AddSC_terokkar_forest()
diff --git a/src/bindings/scripts/scripts/outland/zangarmarsh.cpp b/src/bindings/scripts/scripts/outland/zangarmarsh.cpp
index b5b7e9a7991..5267767c544 100644
--- a/src/bindings/scripts/scripts/outland/zangarmarsh.cpp
+++ b/src/bindings/scripts/scripts/outland/zangarmarsh.cpp
@@ -30,7 +30,7 @@ npc_kayra_longmane
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## npcs_ashyen_and_keleth
@@ -331,11 +331,7 @@ bool QuestAccept_npc_kayra_longmane(Player* pPlayer, Creature* pCreature, Quest
CreatureAI* GetAI_npc_kayra_longmaneAI(Creature* pCreature)
{
- npc_kayra_longmaneAI* thisAI = new npc_kayra_longmaneAI(pCreature);
-
- thisAI->FillPointMovementListForCreature();
-
- return thisAI;
+ return new npc_kayra_longmaneAI(pCreature);
}
/*######
## AddSC
diff --git a/src/bindings/scripts/scripts/areatrigger/areatrigger_scripts.cpp b/src/bindings/scripts/scripts/world/areatrigger_scripts.cpp
index 9ed608ce97b..9ed608ce97b 100644
--- a/src/bindings/scripts/scripts/areatrigger/areatrigger_scripts.cpp
+++ b/src/bindings/scripts/scripts/world/areatrigger_scripts.cpp
diff --git a/src/bindings/scripts/scripts/boss/boss_emeriss.cpp b/src/bindings/scripts/scripts/world/boss_emeriss.cpp
index 9881525e3ad..9881525e3ad 100644
--- a/src/bindings/scripts/scripts/boss/boss_emeriss.cpp
+++ b/src/bindings/scripts/scripts/world/boss_emeriss.cpp
diff --git a/src/bindings/scripts/scripts/boss/boss_lethon.cpp b/src/bindings/scripts/scripts/world/boss_lethon.cpp
index e387891efed..e387891efed 100644
--- a/src/bindings/scripts/scripts/boss/boss_lethon.cpp
+++ b/src/bindings/scripts/scripts/world/boss_lethon.cpp
diff --git a/src/bindings/scripts/scripts/boss/boss_taerar.cpp b/src/bindings/scripts/scripts/world/boss_taerar.cpp
index 3f45ab26331..3f45ab26331 100644
--- a/src/bindings/scripts/scripts/boss/boss_taerar.cpp
+++ b/src/bindings/scripts/scripts/world/boss_taerar.cpp
diff --git a/src/bindings/scripts/scripts/boss/boss_ysondre.cpp b/src/bindings/scripts/scripts/world/boss_ysondre.cpp
index 1b93f54c047..1b93f54c047 100644
--- a/src/bindings/scripts/scripts/boss/boss_ysondre.cpp
+++ b/src/bindings/scripts/scripts/world/boss_ysondre.cpp
diff --git a/src/bindings/scripts/scripts/go/go_scripts.cpp b/src/bindings/scripts/scripts/world/go_scripts.cpp
index d0818fe8dc0..d0818fe8dc0 100644
--- a/src/bindings/scripts/scripts/go/go_scripts.cpp
+++ b/src/bindings/scripts/scripts/world/go_scripts.cpp
diff --git a/src/bindings/scripts/scripts/guard/guards.cpp b/src/bindings/scripts/scripts/world/guards.cpp
index fa5592f7c32..fa5592f7c32 100644
--- a/src/bindings/scripts/scripts/guard/guards.cpp
+++ b/src/bindings/scripts/scripts/world/guards.cpp
diff --git a/src/bindings/scripts/scripts/item/item_scripts.cpp b/src/bindings/scripts/scripts/world/item_scripts.cpp
index f103dc86cdc..f103dc86cdc 100644
--- a/src/bindings/scripts/scripts/item/item_scripts.cpp
+++ b/src/bindings/scripts/scripts/world/item_scripts.cpp
diff --git a/src/bindings/scripts/scripts/creature/mob_generic_creature.cpp b/src/bindings/scripts/scripts/world/mob_generic_creature.cpp
index 30a57e56dd5..30a57e56dd5 100644
--- a/src/bindings/scripts/scripts/creature/mob_generic_creature.cpp
+++ b/src/bindings/scripts/scripts/world/mob_generic_creature.cpp
diff --git a/src/bindings/scripts/scripts/npc/npc_innkeeper.cpp b/src/bindings/scripts/scripts/world/npc_innkeeper.cpp
index 8a99ea7fc7a..8a99ea7fc7a 100644
--- a/src/bindings/scripts/scripts/npc/npc_innkeeper.cpp
+++ b/src/bindings/scripts/scripts/world/npc_innkeeper.cpp
diff --git a/src/bindings/scripts/scripts/npc/npc_professions.cpp b/src/bindings/scripts/scripts/world/npc_professions.cpp
index 07b40555fd5..07b40555fd5 100644
--- a/src/bindings/scripts/scripts/npc/npc_professions.cpp
+++ b/src/bindings/scripts/scripts/world/npc_professions.cpp
diff --git a/src/bindings/scripts/scripts/npc/npc_taxi.cpp b/src/bindings/scripts/scripts/world/npc_taxi.cpp
index 161b663fbb1..161b663fbb1 100644
--- a/src/bindings/scripts/scripts/npc/npc_taxi.cpp
+++ b/src/bindings/scripts/scripts/world/npc_taxi.cpp
diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/world/npcs_special.cpp
index 64f89628528..2a56a825b11 100644
--- a/src/bindings/scripts/scripts/npc/npcs_special.cpp
+++ b/src/bindings/scripts/scripts/world/npcs_special.cpp
@@ -38,7 +38,7 @@ npc_snake_trap_serpents 80% AI for snakes that summoned by Snake Trap
EndContentData */
#include "precompiled.h"
-#include "../npc/npc_escortAI.h"
+#include "escortAI.h"
#include "ObjectMgr.h"
/*########
@@ -1005,11 +1005,7 @@ struct TRINITY_DLL_DECL npc_garments_of_questsAI : public npc_escortAI
CreatureAI* GetAI_npc_garments_of_quests(Creature* pCreature)
{
- npc_garments_of_questsAI* tempAI = new npc_garments_of_questsAI(pCreature);
-
- tempAI->FillPointMovementListForCreature();
-
- return tempAI;
+ return new npc_garments_of_questsAI(pCreature);
}
/*######
diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
index 7266c0d5a2a..f9961e10174 100644
--- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
+++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
@@ -22,7 +22,7 @@ SDCategory: Auchindoun, Shadow Labyrinth
EndScriptData */
#include "precompiled.h"
-#include "../../../npc/npc_escortAI.h"
+#include "escortAI.h"
#include "def_shadow_labyrinth.h"
enum
@@ -203,11 +203,7 @@ struct TRINITY_DLL_DECL boss_ambassador_hellmawAI : public npc_escortAI
CreatureAI* GetAI_boss_ambassador_hellmaw(Creature* pCreature)
{
- boss_ambassador_hellmawAI* pHellAI = new boss_ambassador_hellmawAI(pCreature);
-
- pHellAI->FillPointMovementListForCreature();
-
- return (CreatureAI*)pHellAI;
+ return new boss_ambassador_hellmawAI(pCreature);
}
void AddSC_boss_ambassador_hellmaw()
diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp
index 17390068f65..5eef2c90aa0 100644
--- a/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp
+++ b/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp
@@ -37,7 +37,7 @@ npc_rocknot
EndContentData */
#include "precompiled.h"
-#include "../../npc/npc_escortAI.h"
+#include "escortAI.h"
#include "def_blackrock_depths.h"
/*######
@@ -330,11 +330,7 @@ struct TRINITY_DLL_DECL npc_grimstoneAI : public npc_escortAI
CreatureAI* GetAI_npc_grimstone(Creature* pCreature)
{
- npc_grimstoneAI* Grimstone_AI = new npc_grimstoneAI(pCreature);
-
- Grimstone_AI->FillPointMovementListForCreature();
-
- return Grimstone_AI;
+ return new npc_grimstoneAI(pCreature);
}
/*######
@@ -1191,11 +1187,7 @@ struct TRINITY_DLL_DECL npc_rocknotAI : public npc_escortAI
CreatureAI* GetAI_npc_rocknot(Creature* pCreature)
{
- npc_rocknotAI* Rocknot_AI = new npc_rocknotAI(pCreature);
-
- Rocknot_AI->FillPointMovementListForCreature();
-
- return Rocknot_AI;
+ return new npc_rocknotAI(pCreature);
}
bool ChooseReward_npc_rocknot(Player* pPlayer, Creature* pCreature, const Quest *_Quest, uint32 item)
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h
index 5663516460d..3b0ff32a429 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h
@@ -6,7 +6,7 @@
#define SC_HYJALAI_H
#include "def_hyjal.h"
-#include "../../../npc/npc_escortAI.h"
+#include "escortAI.h"
// Trash Mobs summoned in waves
#define NECROMANCER 17899//done
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h
index 30b84c2e180..9eeff8a03f4 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h
@@ -3,7 +3,7 @@
#define SC_HYJAL_TRASH_AI_H
#include "def_hyjal.h"
-#include "../../../npc/npc_escortAI.h"
+#include "escortAI.h"
#define MINRAIDDAMAGE 700000//minimal damage before trash can drop loot and reputation, resets if faction leader dies
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp
index d8fe0694367..266f61354c0 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp
@@ -23,7 +23,7 @@ EndScriptData */
#include "precompiled.h"
#include "def_old_hillsbrad.h"
-#include "../../../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
## go_barrel_old_hillsbrad
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
index 71309b41825..5559989ef65 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
@@ -28,7 +28,7 @@ npc_taretha
EndContentData */
#include "precompiled.h"
-#include "../../../npc/npc_escortAI.h"
+#include "escortAI.h"
#include "def_old_hillsbrad.h"
#define QUEST_ENTRY_HILLSBRAD 10282
@@ -483,11 +483,7 @@ struct TRINITY_DLL_DECL npc_thrall_old_hillsbradAI : public npc_escortAI
CreatureAI* GetAI_npc_thrall_old_hillsbrad(Creature* pCreature)
{
- npc_thrall_old_hillsbradAI* thrall_walkAI = new npc_thrall_old_hillsbradAI(pCreature);
-
- thrall_walkAI->FillPointMovementListForCreature();
-
- return thrall_walkAI;
+ return new npc_thrall_old_hillsbradAI(pCreature);
}
bool GossipHello_npc_thrall_old_hillsbrad(Player* pPlayer, Creature* pCreature)
@@ -611,11 +607,7 @@ struct TRINITY_DLL_DECL npc_tarethaAI : public npc_escortAI
};
CreatureAI* GetAI_npc_taretha(Creature* pCreature)
{
- npc_tarethaAI* taretha_walkAI = new npc_tarethaAI(pCreature);
-
- taretha_walkAI->FillPointMovementListForCreature();
-
- return taretha_walkAI;
+ return new npc_tarethaAI(pCreature);
}
bool GossipHello_npc_taretha(Player* pPlayer, Creature* pCreature)
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
index 5650a68b500..1e62083f1f9 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
@@ -23,7 +23,7 @@ EndScriptData */
#include "precompiled.h"
#include "def_serpent_shrine.h"
-#include "../../../npc/npc_escortAI.h"
+#include "escortAI.h"
#define SAY_AGGRO -1548021
#define SAY_GAIN_BLESSING -1548022
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
index f1bc6ce0cf1..c1a2280653c 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
@@ -23,7 +23,7 @@ EndScriptData */
#include "precompiled.h"
#include "def_serpent_shrine.h"
-#include "../../../creature/simple_ai.h"
+#include "simple_ai.h"
#include "Spell.h"
#define SAY_INTRO -1548042
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
index 073af7212ec..38abc8f1507 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
@@ -23,7 +23,7 @@ EndScriptData */
#include "precompiled.h"
#include "def_serpent_shrine.h"
-#include "../../../creature/simple_ai.h"
+#include "simple_ai.h"
#include "Spell.h"
#define SPELL_SPOUT 37433
diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp
index 2e3e943d3e6..d672851315e 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp
@@ -22,7 +22,7 @@ SDCategory: Karazhan
EndScriptData */
#include "precompiled.h"
-#include "../../creature/simple_ai.h"
+#include "simple_ai.h"
#include "def_karazhan.h"
#include "GameObject.h"
diff --git a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp b/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp
index 9f6983251c5..91dd4e44ad3 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp
@@ -29,7 +29,7 @@ EndContentData */
#include "precompiled.h"
#include "def_karazhan.h"
-#include "../../npc/npc_escortAI.h"
+#include "escortAI.h"
/*######
# npc_barnesAI
@@ -320,11 +320,7 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
CreatureAI* GetAI_npc_barnesAI(Creature* pCreature)
{
- npc_barnesAI* Barnes_AI = new npc_barnesAI(pCreature);
-
- Barnes_AI->FillPointMovementListForCreature();
-
- return (CreatureAI*)Barnes_AI;
+ return new npc_barnesAI(pCreature);
}
bool GossipHello_npc_barnes(Player* pPlayer, Creature* pCreature)
diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp
index c9dc16b67d6..800a838aabc 100644
--- a/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp
+++ b/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp
@@ -17,98 +17,101 @@
/* ScriptData
SDName: Boss_Golemagg
SD%Complete: 90
-SDComment:
+SDComment: Timers need to be confirmed, Golemagg's Trust need to be checked
SDCategory: Molten Core
EndScriptData */
#include "precompiled.h"
#include "def_molten_core.h"
-#define EMOTE_AEGIS -1409002
-
-#define SPELL_MAGMASPLASH 13879
-#define SPELL_PYROBLAST 20228
-#define SPELL_EARTHQUAKE 19798
-#define SPELL_ENRAGE 19953
-#define SPELL_BUFF 20553
-
-//-- CoreRager Spells --
-#define SPELL_MANGLE 19820
-#define SPELL_AEGIS 20620 //This is self casted whenever we are below 50%
+enum
+{
+ SPELL_MAGMASPLASH = 13879,
+ SPELL_PYROBLAST = 20228,
+ SPELL_EARTHQUAKE = 19798,
+ SPELL_ENRAGE = 19953,
+ SPELL_GOLEMAGG_TRUST = 20553,
+
+ // Core Rager
+ EMOTE_LOWHP = -1409002,
+ SPELL_MANGLE = 19820
+};
struct TRINITY_DLL_DECL boss_golemaggAI : public ScriptedAI
{
- boss_golemaggAI(Creature *c) : ScriptedAI(c)
+ boss_golemaggAI(Creature* pCreature) : ScriptedAI(pCreature)
{
- pInstance = c->GetInstanceData();
+ m_pInstance = pCreature->GetInstanceData();
}
- ScriptedInstance *pInstance;
- uint32 Pyroblast_Timer;
- uint32 EarthQuake_Timer;
- uint32 Enrage_Timer;
- uint32 Buff_Timer;
+ ScriptedInstance* m_pInstance;
+
+ uint32 m_uiPyroblastTimer;
+ uint32 m_uiEarthquakeTimer;
+ uint32 m_uiBuffTimer;
+ bool m_bEnraged;
void Reset()
{
- Pyroblast_Timer = 7000; //These times are probably wrong
- EarthQuake_Timer = 3000;
- Buff_Timer = 2500;
- Enrage_Timer = 0;
-
- m_creature->CastSpell(m_creature,SPELL_MAGMASPLASH,true);
- }
+ m_uiPyroblastTimer = 7*IN_MILISECONDS; // These timers are probably wrong
+ m_uiEarthquakeTimer = 3*IN_MILISECONDS;
+ m_uiBuffTimer = 2.5*IN_MILISECONDS;
+ m_bEnraged = false;
- void EnterCombat(Unit *who)
- {
+ m_creature->CastSpell(m_creature, SPELL_MAGMASPLASH, true);
}
- void JustDied(Unit* Killer)
+ void JustDied(Unit* pKiller)
{
- if (pInstance)
- pInstance->SetData(DATA_GOLEMAGG_DEATH, 0);
+ if (m_pInstance)
+ m_pInstance->SetData(DATA_GOLEMAGG_DEATH, 0);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(const uint32 uiDiff)
{
if (!UpdateVictim())
return;
- //Pyroblast_Timer
- if (Pyroblast_Timer < diff)
+ //Pyroblast
+ if (m_uiPyroblastTimer < uiDiff)
{
- if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
- DoCast(target,SPELL_PYROBLAST);
+ if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
+ DoCast(pTarget, SPELL_PYROBLAST);
- Pyroblast_Timer = 7000;
- }else Pyroblast_Timer -= diff;
+ m_uiPyroblastTimer = 7*IN_MILISECONDS;
+ }
+ else
+ m_uiPyroblastTimer -= uiDiff;
- //Enrage_Timer
- if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 11)
+ // Enrage
+ if (!m_bEnraged && m_creature->GetHealth()*100 < m_creature->GetMaxHealth()*10)
{
- if (Enrage_Timer < diff)
- {
- DoCast(m_creature,SPELL_ENRAGE);
- Enrage_Timer = 62000;
- }else Enrage_Timer -= diff;
+ DoCast(m_creature, SPELL_ENRAGE);
+ m_bEnraged = true;
}
- //EarthQuake_Timer
- if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 11)
+ // Earthquake
+ if (m_bEnraged)
{
- if (EarthQuake_Timer < diff)
+ if (m_uiEarthquakeTimer < uiDiff)
{
- DoCast(m_creature->getVictim(),SPELL_EARTHQUAKE);
- EarthQuake_Timer = 3000;
- }else EarthQuake_Timer -= diff;
+ DoCast(m_creature->getVictim(), SPELL_EARTHQUAKE);
+ m_uiEarthquakeTimer = 3*IN_MILISECONDS;
+ }
+ else
+ m_uiEarthquakeTimer -= uiDiff;
}
- //Casting Buff for Coreragers. Spell is not working right. Players get the buff...
- // if (Buff_Timer < diff)
- // {
- // DoCast(m_creature, SPELL_BUFF);
- // Buff_Timer = 2500;
- // }else Buff_Timer -= diff;
+ /*
+ // Golemagg's Trust
+ if (m_uiBuffTimer < uiDiff)
+ {
+ DoCast(m_creature, SPELL_GOLEMAGG_TRUST);
+ m_uiBuffTimer = 2.5*IN_MILISECONDS;
+ }
+ else
+ m_uiBuffTimer -= uiDiff;
+ */
DoMeleeAttackIfReady();
}
@@ -118,60 +121,56 @@ struct TRINITY_DLL_DECL mob_core_ragerAI : public ScriptedAI
{
mob_core_ragerAI(Creature *c) : ScriptedAI(c)
{
- pInstance = c->GetInstanceData();
+ m_pInstance = c->GetInstanceData();
}
- uint32 Mangle_Timer;
- uint32 Check_Timer;
- ScriptedInstance *pInstance;
+ ScriptedInstance* m_pInstance;
+
+ uint32 m_uiMangleTimer;
void Reset()
{
- Mangle_Timer = 7000; //These times are probably wrong
- Check_Timer = 1000;
+ m_uiMangleTimer = 7*IN_MILISECONDS; // These times are probably wrong
}
- void EnterCombat(Unit *who)
+ void DamageTaken(Unit* pDoneBy, uint32& uiDamage)
{
+ if (m_creature->GetHealth()*100 < m_creature->GetMaxHealth()*50)
+ {
+ if (m_pInstance)
+ {
+ if (Creature* pGolemagg = m_pInstance->instance->GetCreature(m_pInstance->GetData64(DATA_GOLEMAGG)))
+ {
+ if (pGolemagg->isAlive())
+ {
+ DoScriptText(EMOTE_LOWHP, m_creature);
+ m_creature->SetHealth(m_creature->GetMaxHealth());
+ }
+ else
+ uiDamage = m_creature->GetHealth();
+ }
+ }
+ }
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(const uint32 uiDiff)
{
if (!UpdateVictim())
return;
- //Mangle_Timer
- if (Mangle_Timer < diff)
- {
- DoCast(m_creature->getVictim(),SPELL_MANGLE);
- Mangle_Timer = 10000;
- }else Mangle_Timer -= diff;
-
- //Cast AEGIS
- if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 50)
+ // Mangle
+ if (m_uiMangleTimer < uiDiff)
{
- DoCast(m_creature,SPELL_AEGIS);
- DoScriptText(EMOTE_AEGIS, m_creature);
+ DoCast(m_creature->getVictim(), SPELL_MANGLE);
+ m_uiMangleTimer = 10*IN_MILISECONDS;
}
-
- //Check_Timer
- if (Check_Timer < diff)
- {
- if (pInstance)
- {
- Unit *pGolemagg = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_GOLEMAGG));
- if (!pGolemagg || !pGolemagg->isAlive())
- {
- m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, true);
- }
- }
-
- Check_Timer = 1000;
- }else Check_Timer -= diff;
+ else
+ m_uiMangleTimer -= uiDiff;
DoMeleeAttackIfReady();
}
};
+
CreatureAI* GetAI_boss_golemagg(Creature* pCreature)
{
return new boss_golemaggAI (pCreature);
@@ -184,7 +183,7 @@ CreatureAI* GetAI_mob_core_rager(Creature* pCreature)
void AddSC_boss_golemagg()
{
- Script *newscript;
+ Script* newscript;
newscript = new Script;
newscript->Name="boss_golemagg";
diff --git a/src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp b/src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp
index 0cb6150b1aa..2ea052f0a90 100644
--- a/src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp
+++ b/src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp
@@ -183,7 +183,7 @@ struct TRINITY_DLL_DECL instance_molten_core : public ScriptedInstance
case DATA_SULFURON:
return Sulfuron;
case DATA_GOLEMAGG:
- return Sulfuron;
+ return Golemagg;
case DATA_FLAMEWAKERPRIEST:
return FlamewakerPriest;
diff --git a/src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp b/src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp
index 945631665ec..7af3bcce6b6 100644
--- a/src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp
+++ b/src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp
@@ -26,7 +26,7 @@ mob_ancient_core_hound
EndContentData */
#include "precompiled.h"
-#include "../../creature/simple_ai.h"
+#include "simple_ai.h"
#define SPELL_CONE_OF_FIRE 19630
#define SPELL_BITE 19771
diff --git a/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp b/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp
index 0c5f01ac52c..a6bd845b13e 100644
--- a/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp
+++ b/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp
@@ -26,7 +26,7 @@ npc_willix
EndContentData */
#include "precompiled.h"
-#include "../../npc/npc_escortAI.h"
+#include "escortAI.h"
#include "def_razorfen_kraul.h"
#define SAY_READY -1047000
diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp
index b56a60c0a1e..5a1c8e6d364 100644
--- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp
+++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp
@@ -22,7 +22,7 @@ SDCategory: Scarlet Monastery
EndScriptData */
#include "precompiled.h"
-#include "../../npc/npc_escortAI.h"
+#include "escortAI.h"
#define SAY_AGGRO -1189000
#define SAY_WHIRLWIND -1189001
@@ -140,11 +140,7 @@ struct TRINITY_DLL_DECL mob_scarlet_traineeAI : public npc_escortAI
CreatureAI* GetAI_mob_scarlet_trainee(Creature* pCreature)
{
- mob_scarlet_traineeAI* thisAI = new mob_scarlet_traineeAI(pCreature);
-
- thisAI->FillPointMovementListForCreature();
-
- return thisAI;
+ return new mob_scarlet_traineeAI(pCreature);
}
void AddSC_boss_herod()
diff --git a/src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp b/src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp
index 12c4bf2d3eb..5f9d42ea65e 100644
--- a/src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp
+++ b/src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp
@@ -26,7 +26,7 @@ npc_shadowfang_prisoner
EndContentData */
#include "precompiled.h"
-#include "../../npc/npc_escortAI.h"
+#include "escortAI.h"
#include "def_shadowfang_keep.h"
/*######
@@ -102,11 +102,7 @@ struct TRINITY_DLL_DECL npc_shadowfang_prisonerAI : public npc_escortAI
CreatureAI* GetAI_npc_shadowfang_prisoner(Creature* pCreature)
{
- npc_shadowfang_prisonerAI* prisonerAI = new npc_shadowfang_prisonerAI(pCreature);
-
- prisonerAI->FillPointMovementListForCreature();
-
- return prisonerAI;
+ return new npc_shadowfang_prisonerAI(pCreature);
}
bool GossipHello_npc_shadowfang_prisoner(Player* pPlayer, Creature* pCreature)
diff --git a/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp b/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp
index a94e253c255..426b7fa2217 100644
--- a/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp
+++ b/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp
@@ -26,7 +26,7 @@ npc_a-me
EndContentData */
#include "precompiled.h"
-#include "../../npc/npc_escortAI.h"
+#include "escortAI.h"
#define SAY_READY -1000200
#define SAY_AGGRO1 -1000201
diff --git a/src/bindings/scripts/scripts/zone/wailing_caverns/wailing_caverns.cpp b/src/bindings/scripts/scripts/zone/wailing_caverns/wailing_caverns.cpp
index 864e0eb2a9b..622800127db 100644
--- a/src/bindings/scripts/scripts/zone/wailing_caverns/wailing_caverns.cpp
+++ b/src/bindings/scripts/scripts/zone/wailing_caverns/wailing_caverns.cpp
@@ -25,7 +25,7 @@ EndScriptData */
EndContentData */
#include "precompiled.h"
-#include "../../npc/npc_escortAI.h"
+#include "escortAI.h"
#include "def_wailing_caverns.h"
/*######
@@ -348,11 +348,7 @@ struct TRINITY_DLL_DECL npc_disciple_of_naralexAI : public npc_escortAI
CreatureAI* GetAI_npc_disciple_of_naralex(Creature* pCreature)
{
- npc_disciple_of_naralexAI *disciple_of_naralexAI = new npc_disciple_of_naralexAI(pCreature);
-
- disciple_of_naralexAI->FillPointMovementListForCreature();
-
- return disciple_of_naralexAI;
+ return new npc_disciple_of_naralexAI(pCreature);
}
bool GossipHello_npc_disciple_of_naralex(Player* pPlayer, Creature* pCreature)
diff --git a/src/bindings/scripts/system/ScriptLoader.cpp b/src/bindings/scripts/system/ScriptLoader.cpp
new file mode 100644
index 00000000000..8d2e4466a41
--- /dev/null
+++ b/src/bindings/scripts/system/ScriptLoader.cpp
@@ -0,0 +1,1026 @@
+/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
+* This program is free software licensed under GPL version 2
+* Please see the included DOCS/LICENSE.TXT for more information */
+
+#include "precompiled.h"
+
+//custom
+
+//examples
+extern void AddSC_example_creature();
+extern void AddSC_example_escort();
+extern void AddSC_example_gossip_codebox();
+extern void AddSC_example_misc();
+
+//world
+extern void AddSC_areatrigger_scripts();
+extern void AddSC_boss_emeriss();
+extern void AddSC_boss_taerar();
+extern void AddSC_boss_ysondre();
+extern void AddSC_generic_creature();
+extern void AddSC_go_scripts();
+extern void AddSC_guards();
+extern void AddSC_item_scripts();
+extern void AddSC_npc_professions();
+extern void AddSC_npcs_special();
+extern void AddSC_npc_taxi();
+
+//eastern kingdoms
+extern void AddSC_the_scarlet_enclave();
+//extern void AddSC_alterac_mountains();
+extern void AddSC_arathi_highlands();
+extern void AddSC_blasted_lands();
+extern void AddSC_boss_kruul();
+extern void AddSC_burning_steppes();
+extern void AddSC_dun_morogh();
+extern void AddSC_eastern_plaguelands();
+extern void AddSC_elwynn_forest();
+extern void AddSC_eversong_woods();
+extern void AddSC_ghostlands();
+extern void AddSC_hinterlands();
+extern void AddSC_ironforge();
+extern void AddSC_isle_of_queldanas();
+extern void AddSC_loch_modan();
+extern void AddSC_searing_gorge();
+extern void AddSC_silvermoon_city();
+extern void AddSC_silverpine_forest();
+extern void AddSC_stormwind_city();
+extern void AddSC_stranglethorn_vale();
+extern void AddSC_tirisfal_glades();
+extern void AddSC_undercity();
+extern void AddSC_western_plaguelands();
+extern void AddSC_westfall();
+
+//kalimdor
+extern void AddSC_ashenvale();
+extern void AddSC_azshara();
+extern void AddSC_azuremyst_isle();
+extern void AddSC_bloodmyst_isle();
+extern void AddSC_boss_azuregos();
+extern void AddSC_darkshore();
+extern void AddSC_desolace();
+extern void AddSC_dustwallow_marsh();
+extern void AddSC_felwood();
+extern void AddSC_feralas();
+extern void AddSC_moonglade();
+extern void AddSC_mulgore();
+extern void AddSC_orgrimmar();
+extern void AddSC_silithus();
+extern void AddSC_stonetalon_mountains();
+extern void AddSC_tanaris();
+extern void AddSC_teldrassil();
+extern void AddSC_the_barrens();
+extern void AddSC_thousand_needles();
+extern void AddSC_thunder_bluff();
+extern void AddSC_winterspring();
+
+//northrend
+extern void AddSC_borean_tundra();
+extern void AddSC_dragonblight();
+extern void AddSC_grizzly_hills();
+extern void AddSC_icecrown();
+extern void AddSC_sholazar_basin();
+extern void AddSC_zuldrak();
+
+//outland
+extern void AddSC_blades_edge_mountains();
+extern void AddSC_boss_doomlordkazzak();
+extern void AddSC_boss_doomwalker();
+extern void AddSC_hellfire_peninsula();
+extern void AddSC_nagrand();
+extern void AddSC_netherstorm();
+extern void AddSC_shadowmoon_valley();
+extern void AddSC_shattrath_city();
+extern void AddSC_terokkar_forest();
+extern void AddSC_zangarmarsh();
+
+//--------------------
+//------ ZONE --------
+
+//Aunchindoun
+//--Auchenai Crypts
+extern void AddSC_boss_exarch_maladaar();
+extern void AddSC_boss_shirrak_the_dead_watcher();
+//--Mana Tombs
+extern void AddSC_boss_nexusprince_shaffar();
+extern void AddSC_boss_pandemonius();
+
+//--Sekketh Halls
+extern void AddSC_boss_darkweaver_syth();
+extern void AddSC_boss_talon_king_ikiss();
+extern void AddSC_instance_sethekk_halls();
+
+//--Shadow Labyrinth
+extern void AddSC_instance_shadow_labyrinth();
+extern void AddSC_boss_ambassador_hellmaw();
+extern void AddSC_boss_blackheart_the_inciter();
+extern void AddSC_boss_grandmaster_vorpil();
+extern void AddSC_boss_murmur();
+
+//Azjol-Nerub
+//--Ahn'kahet
+extern void AddSC_instance_ahnkahet();
+extern void AddSC_boss_elder_nadox();
+
+//Black Temple
+extern void AddSC_black_temple();
+extern void AddSC_boss_illidan();
+extern void AddSC_boss_shade_of_akama();
+extern void AddSC_boss_supremus();
+extern void AddSC_boss_gurtogg_bloodboil();
+extern void AddSC_boss_mother_shahraz();
+extern void AddSC_boss_reliquary_of_souls();
+extern void AddSC_boss_teron_gorefiend();
+extern void AddSC_boss_najentus();
+extern void AddSC_boss_illidari_council();
+extern void AddSC_instance_black_temple();
+
+//Blackfathom Depths
+extern void AddSC_instance_blackfathom_deeps();
+
+//Blackrock Depths
+extern void AddSC_blackrock_depths();
+extern void AddSC_boss_ambassador_flamelash();
+extern void AddSC_boss_anubshiah();
+extern void AddSC_boss_draganthaurissan();
+extern void AddSC_boss_general_angerforge();
+extern void AddSC_boss_gorosh_the_dervish();
+extern void AddSC_boss_grizzle();
+extern void AddSC_boss_high_interrogator_gerstahn();
+extern void AddSC_boss_magmus();
+extern void AddSC_boss_moira_bronzebeard();
+extern void AddSC_boss_tomb_of_seven();
+extern void AddSC_instance_blackrock_depths();
+
+//Blackrock Spire
+extern void AddSC_boss_drakkisath();
+extern void AddSC_boss_halycon();
+extern void AddSC_boss_highlordomokk();
+extern void AddSC_boss_mothersmolderweb();
+extern void AddSC_boss_overlordwyrmthalak();
+extern void AddSC_boss_shadowvosh();
+extern void AddSC_boss_thebeast();
+extern void AddSC_boss_warmastervoone();
+extern void AddSC_boss_quatermasterzigris();
+extern void AddSC_boss_pyroguard_emberseer();
+extern void AddSC_boss_gyth();
+extern void AddSC_boss_rend_blackhand();
+
+//Blackwing lair
+extern void AddSC_boss_razorgore();
+extern void AddSC_boss_vael();
+extern void AddSC_boss_broodlord();
+extern void AddSC_boss_firemaw();
+extern void AddSC_boss_ebonroc();
+extern void AddSC_boss_flamegor();
+extern void AddSC_boss_chromaggus();
+extern void AddSC_boss_nefarian();
+extern void AddSC_boss_victor_nefarius();
+
+//Caverns of Time
+//--Battle for Mt. Hyjal
+extern void AddSC_hyjal();
+extern void AddSC_boss_archimonde();
+extern void AddSC_instance_mount_hyjal();
+extern void AddSC_hyjal_trash();
+extern void AddSC_boss_rage_winterchill();
+extern void AddSC_boss_anetheron();
+extern void AddSC_boss_kazrogal();
+extern void AddSC_boss_azgalor();
+
+//--Old Hillsbrad
+extern void AddSC_boss_captain_skarloc();
+extern void AddSC_boss_epoch_hunter();
+extern void AddSC_boss_lieutenant_drake();
+extern void AddSC_instance_old_hillsbrad();
+extern void AddSC_old_hillsbrad();
+
+//--The Dark Portal
+extern void AddSC_boss_aeonus();
+extern void AddSC_boss_chrono_lord_deja();
+extern void AddSC_boss_temporus();
+extern void AddSC_dark_portal();
+extern void AddSC_instance_dark_portal();
+
+//Coilfang Resevoir
+//--Serpent Shrine Cavern
+extern void AddSC_boss_fathomlord_karathress();
+extern void AddSC_boss_hydross_the_unstable();
+extern void AddSC_boss_lady_vashj();
+extern void AddSC_boss_leotheras_the_blind();
+extern void AddSC_boss_morogrim_tidewalker();
+extern void AddSC_instance_serpentshrine_cavern();
+extern void AddSC_boss_the_lurker_below();
+
+//--Slave Pens
+
+//--Steam Vault
+extern void AddSC_boss_hydromancer_thespia();
+extern void AddSC_boss_mekgineer_steamrigger();
+extern void AddSC_boss_warlord_kalithresh();
+extern void AddSC_instance_steam_vault();
+
+//--Underbog
+extern void AddSC_boss_hungarfen();
+extern void AddSC_boss_the_black_stalker();
+
+//Deadmines
+extern void AddSC_instance_deadmines();
+
+//Gruul's Lair
+extern void AddSC_boss_gruul();
+extern void AddSC_boss_high_king_maulgar();
+extern void AddSC_instance_gruuls_lair();
+
+//Hellfire Citadel
+//--Blood Furnace
+extern void AddSC_boss_broggok();
+extern void AddSC_boss_kelidan_the_breaker();
+extern void AddSC_boss_the_maker();
+extern void AddSC_instance_blood_furnace();
+
+//--Magtheridon's Lair
+extern void AddSC_boss_magtheridon();
+extern void AddSC_instance_magtheridons_lair();
+
+//--Shattered Halls
+extern void AddSC_boss_grand_warlock_nethekurse();
+extern void AddSC_boss_warbringer_omrogg();
+extern void AddSC_boss_warchief_kargath_bladefist();
+extern void AddSC_instance_shattered_halls();
+
+//--Ramparts
+extern void AddSC_boss_watchkeeper_gargolmar();
+extern void AddSC_boss_omor_the_unscarred();
+extern void AddSC_boss_vazruden_the_herald();
+extern void AddSC_instance_ramparts();
+
+//Karazhan
+extern void AddSC_boss_attumen();
+extern void AddSC_boss_curator();
+extern void AddSC_boss_maiden_of_virtue();
+extern void AddSC_boss_shade_of_aran();
+extern void AddSC_boss_malchezaar();
+extern void AddSC_boss_terestian_illhoof();
+extern void AddSC_boss_moroes();
+extern void AddSC_bosses_opera();
+extern void AddSC_boss_netherspite();
+extern void AddSC_instance_karazhan();
+extern void AddSC_karazhan();
+extern void AddSC_boss_nightbane();
+
+//Lower Blackrock Spire
+
+// Magister's Terrace
+extern void AddSC_boss_felblood_kaelthas();
+extern void AddSC_boss_selin_fireheart();
+extern void AddSC_boss_vexallus();
+extern void AddSC_boss_priestess_delrissa();
+extern void AddSC_instance_magisters_terrace();
+extern void AddSC_magisters_terrace();
+
+//Maraudon
+extern void AddSC_boss_celebras_the_cursed();
+extern void AddSC_boss_landslide();
+extern void AddSC_boss_noxxion();
+extern void AddSC_boss_ptheradras();
+
+//Molten core
+extern void AddSC_boss_lucifron();
+extern void AddSC_boss_magmadar();
+extern void AddSC_boss_gehennas();
+extern void AddSC_boss_garr();
+extern void AddSC_boss_baron_geddon();
+extern void AddSC_boss_shazzrah();
+extern void AddSC_boss_golemagg();
+extern void AddSC_boss_sulfuron();
+extern void AddSC_boss_majordomo();
+extern void AddSC_boss_ragnaros();
+extern void AddSC_instance_molten_core();
+extern void AddSC_molten_core();
+
+//Naxxramas
+extern void AddSC_boss_anubrekhan();
+extern void AddSC_boss_maexxna();
+extern void AddSC_boss_patchwerk();
+extern void AddSC_boss_grobbulus();
+extern void AddSC_boss_razuvious();
+extern void AddSC_boss_kelthuzad();
+extern void AddSC_boss_loatheb();
+extern void AddSC_boss_noth();
+extern void AddSC_boss_gluth();
+extern void AddSC_boss_sapphiron();
+extern void AddSC_boss_four_horsemen();
+extern void AddSC_boss_faerlina();
+extern void AddSC_boss_heigan();
+extern void AddSC_boss_gothik();
+extern void AddSC_boss_thaddius();
+extern void AddSC_instance_naxxramas();
+
+//The Nexus
+//Eye of Eternety
+
+//Nexus
+extern void AddSC_boss_magus_telestra();
+extern void AddSC_boss_anomalus();
+extern void AddSC_boss_ormorok();
+extern void AddSC_boss_keristrasza();
+extern void AddSC_instance_nexus();
+
+//Oculus
+
+//Obsidian Sanctum
+extern void AddSC_boss_sartharion();
+extern void AddSC_instance_obsidian_sanctum();
+
+//Onyxia's Lair
+extern void AddSC_boss_onyxia();
+
+//Ragefire Chasm
+//Razorfen Downs
+extern void AddSC_boss_amnennar_the_coldbringer();
+extern void AddSC_razorfen_downs();
+
+//Razorfen Kraul
+extern void AddSC_razorfen_kraul();
+
+//Ruins of Ahn'Qiraj
+//Scarlet Monastery
+extern void AddSC_boss_arcanist_doan();
+extern void AddSC_boss_azshir_the_sleepless();
+extern void AddSC_boss_bloodmage_thalnos();
+extern void AddSC_boss_headless_horseman();
+extern void AddSC_boss_herod();
+extern void AddSC_boss_high_inquisitor_fairbanks();
+extern void AddSC_boss_houndmaster_loksey();
+extern void AddSC_boss_interrogator_vishas();
+extern void AddSC_boss_scorn();
+extern void AddSC_instance_scarlet_monastery();
+extern void AddSC_boss_mograine_and_whitemane();
+
+//Scholomance
+extern void AddSC_boss_darkmaster_gandling();
+extern void AddSC_boss_death_knight_darkreaver();
+extern void AddSC_boss_theolenkrastinov();
+extern void AddSC_boss_illuciabarov();
+extern void AddSC_boss_instructormalicia();
+extern void AddSC_boss_jandicebarov();
+extern void AddSC_boss_kormok();
+extern void AddSC_boss_lordalexeibarov();
+extern void AddSC_boss_lorekeeperpolkelt();
+extern void AddSC_boss_rasfrost();
+extern void AddSC_boss_theravenian();
+extern void AddSC_boss_vectus();
+extern void AddSC_instance_scholomance();
+
+//Shadowfang keep
+extern void AddSC_shadowfang_keep();
+extern void AddSC_instance_shadowfang_keep();
+
+//Stratholme
+extern void AddSC_boss_magistrate_barthilas();
+extern void AddSC_boss_maleki_the_pallid();
+extern void AddSC_boss_nerubenkan();
+extern void AddSC_boss_cannon_master_willey();
+extern void AddSC_boss_baroness_anastari();
+extern void AddSC_boss_ramstein_the_gorger();
+extern void AddSC_boss_timmy_the_cruel();
+extern void AddSC_boss_postmaster_malown();
+extern void AddSC_boss_baron_rivendare();
+extern void AddSC_boss_dathrohan_balnazzar();
+extern void AddSC_boss_order_of_silver_hand();
+extern void AddSC_instance_stratholme();
+extern void AddSC_stratholme();
+
+//Sunken Temple
+//Sunwell Plateau
+extern void AddSC_instance_sunwell_plateau();
+extern void AddSC_boss_kalecgos();
+extern void AddSC_boss_brutallus();
+extern void AddSC_boss_felmyst();
+extern void AddSC_boss_eredar_twins();
+extern void AddSC_boss_muru();
+extern void AddSC_boss_kiljaeden();
+extern void AddSC_sunwell_plateau();
+
+//Tanaris
+
+//Tempest Keep
+//--Arcatraz
+extern void AddSC_arcatraz();
+extern void AddSC_boss_harbinger_skyriss();
+extern void AddSC_instance_arcatraz();
+
+//--Botanica
+extern void AddSC_boss_high_botanist_freywinn();
+extern void AddSC_boss_laj();
+extern void AddSC_boss_warp_splinter();
+
+//--The Eye
+extern void AddSC_boss_alar();
+extern void AddSC_boss_kaelthas();
+extern void AddSC_boss_void_reaver();
+extern void AddSC_boss_high_astromancer_solarian();
+extern void AddSC_instance_the_eye();
+extern void AddSC_the_eye();
+
+//--The Mechanar
+extern void AddSC_boss_gatewatcher_iron_hand();
+extern void AddSC_boss_nethermancer_sepethrea();
+extern void AddSC_boss_pathaleon_the_calculator();
+extern void AddSC_instance_mechanar();
+
+//Temple of ahn'qiraj
+extern void AddSC_boss_cthun();
+extern void AddSC_boss_fankriss();
+extern void AddSC_boss_huhuran();
+extern void AddSC_bug_trio();
+extern void AddSC_boss_sartura();
+extern void AddSC_boss_skeram();
+extern void AddSC_boss_twinemperors();
+extern void AddSC_mob_anubisath_sentinel();
+extern void AddSC_instance_temple_of_ahnqiraj();
+
+//Uldaman
+extern void AddSC_boss_archaedas();
+extern void AddSC_boss_ironaya();
+extern void AddSC_uldaman();
+extern void AddSC_instance_uldaman();
+
+//Ulduar
+extern void AddSC_boss_auriaya();
+extern void AddSC_boss_flame_leviathan();
+extern void AddSC_boss_ignis();
+extern void AddSC_boss_razorscale();
+extern void AddSC_boss_xt002();
+//extern void AddSC_instance_ulduar();
+
+//Un'Goro Crater
+extern void AddSC_ungoro_crater();
+
+//Upper blackrock spire
+
+//Utgarde Keep
+extern void AddSC_boss_keleseth();
+extern void AddSC_boss_skarvald_dalronn();
+extern void AddSC_boss_ingvar_the_plunderer();
+extern void AddSC_instance_utgarde_keep();
+extern void AddSC_utgarde_keep();
+
+//Wailing caverns
+extern void AddSC_wailing_caverns();
+extern void AddSC_instance_wailing_caverns();
+
+//Zul'Farrak
+extern void AddSC_zulfarrak();
+
+//Zul'Gurub
+extern void AddSC_boss_jeklik();
+extern void AddSC_boss_venoxis();
+extern void AddSC_boss_marli();
+extern void AddSC_boss_mandokir();
+extern void AddSC_boss_gahzranka();
+extern void AddSC_boss_thekal();
+extern void AddSC_boss_arlokk();
+extern void AddSC_boss_jindo();
+extern void AddSC_boss_hakkar();
+extern void AddSC_boss_grilek();
+extern void AddSC_boss_hazzarah();
+extern void AddSC_boss_renataki();
+extern void AddSC_boss_wushoolay();
+extern void AddSC_instance_zulgurub();
+
+//Zul'Aman
+extern void AddSC_boss_akilzon();
+extern void AddSC_boss_halazzi();
+extern void AddSC_boss_hex_lord_malacrass();
+extern void AddSC_boss_janalai();
+extern void AddSC_boss_nalorakk();
+extern void AddSC_boss_zuljin();
+extern void AddSC_instance_zulaman();
+extern void AddSC_zulaman();
+
+//Vault of Archavon
+extern void AddSC_boss_archavon();
+extern void AddSC_boss_emalon();
+extern void AddSC_instance_archavon();
+
+//Halls of Lightning
+extern void AddSC_boss_bjarngrim();
+extern void AddSC_boss_loken();
+extern void AddSC_instance_halls_of_lightning();
+
+//Region
+extern void AddSC_wintergrasp();
+
+void AddScripts()
+{
+ //custom
+
+ //examples
+ AddSC_example_creature();
+ AddSC_example_escort();
+ AddSC_example_gossip_codebox();
+ AddSC_example_misc();
+
+ //world
+ AddSC_areatrigger_scripts();
+ AddSC_boss_emeriss();
+ AddSC_boss_taerar();
+ AddSC_boss_ysondre();
+ AddSC_generic_creature();
+ AddSC_go_scripts();
+ AddSC_guards();
+ AddSC_item_scripts();
+ AddSC_npc_professions();
+ AddSC_npcs_special();
+ AddSC_npc_taxi();
+
+ //eastern kingdoms
+ AddSC_the_scarlet_enclave();
+ //AddSC_alterac_mountains();
+ AddSC_arathi_highlands();
+ AddSC_blasted_lands();
+ AddSC_boss_kruul();
+ AddSC_burning_steppes();
+ AddSC_dun_morogh();
+ AddSC_eastern_plaguelands();
+ AddSC_elwynn_forest();
+ AddSC_eversong_woods();
+ AddSC_ghostlands();
+ AddSC_hinterlands();
+ AddSC_ironforge();
+ AddSC_isle_of_queldanas();
+ AddSC_loch_modan();
+ AddSC_searing_gorge();
+ AddSC_silvermoon_city();
+ AddSC_silverpine_forest();
+ AddSC_stormwind_city();
+ AddSC_stranglethorn_vale();
+ AddSC_tirisfal_glades();
+ AddSC_undercity();
+ AddSC_western_plaguelands();
+ AddSC_westfall();
+
+ //kalimdor
+ AddSC_ashenvale();
+ AddSC_azshara();
+ AddSC_azuremyst_isle();
+ AddSC_bloodmyst_isle();
+ AddSC_boss_azuregos();
+ AddSC_darkshore();
+ AddSC_desolace();
+ 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_winterspring();
+
+ //northrend
+ AddSC_borean_tundra();
+ AddSC_dragonblight();
+ AddSC_grizzly_hills();
+ AddSC_icecrown();
+ AddSC_sholazar_basin();
+ AddSC_zuldrak();
+
+ //outland
+ 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();
+
+ //--------------------
+ //------ ZONE --------
+
+ //Aunchindoun
+ //--Auchenai Crypts
+ AddSC_boss_exarch_maladaar();
+ AddSC_boss_shirrak_the_dead_watcher();
+ //--Mana Tombs
+ AddSC_boss_nexusprince_shaffar();
+ AddSC_boss_pandemonius();
+
+ //--Sekketh Halls
+ AddSC_boss_darkweaver_syth();
+ AddSC_boss_talon_king_ikiss();
+ AddSC_instance_sethekk_halls();
+
+ //--Shadow Labyrinth
+ AddSC_instance_shadow_labyrinth();
+ AddSC_boss_ambassador_hellmaw();
+ AddSC_boss_blackheart_the_inciter();
+ AddSC_boss_grandmaster_vorpil();
+ AddSC_boss_murmur();
+
+ //Azjol-Nerub
+ //--Ahn'kahet
+ AddSC_instance_ahnkahet();
+ AddSC_boss_elder_nadox();
+
+ //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();
+
+ //Blackfathom Depths
+ AddSC_instance_blackfathom_deeps();
+
+ //Blackrock Depths
+ AddSC_blackrock_depths();
+ AddSC_boss_ambassador_flamelash();
+ AddSC_boss_anubshiah();
+ AddSC_boss_draganthaurissan();
+ AddSC_boss_general_angerforge();
+ AddSC_boss_gorosh_the_dervish();
+ AddSC_boss_grizzle();
+ AddSC_boss_high_interrogator_gerstahn();
+ AddSC_boss_magmus();
+ AddSC_boss_moira_bronzebeard();
+ AddSC_boss_tomb_of_seven();
+ AddSC_instance_blackrock_depths();
+
+ //Blackrock Spire
+ AddSC_boss_drakkisath();
+ 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();
+
+ //Blackwing lair
+ AddSC_boss_razorgore();
+ AddSC_boss_vael();
+ AddSC_boss_broodlord();
+ AddSC_boss_firemaw();
+ AddSC_boss_ebonroc();
+ AddSC_boss_flamegor();
+ AddSC_boss_chromaggus();
+ AddSC_boss_nefarian();
+ AddSC_boss_victor_nefarius();
+
+ //Caverns of Time
+ //--Battle for Mt. Hyjal
+ AddSC_hyjal();
+ AddSC_boss_archimonde();
+ AddSC_instance_mount_hyjal();
+ AddSC_hyjal_trash();
+ AddSC_boss_rage_winterchill();
+ AddSC_boss_anetheron();
+ AddSC_boss_kazrogal();
+ AddSC_boss_azgalor();
+
+ //--Old Hillsbrad
+ AddSC_boss_captain_skarloc();
+ AddSC_boss_epoch_hunter();
+ AddSC_boss_lieutenant_drake();
+ AddSC_instance_old_hillsbrad();
+ AddSC_old_hillsbrad();
+
+ //--The Dark Portal
+ AddSC_boss_aeonus();
+ AddSC_boss_chrono_lord_deja();
+ AddSC_boss_temporus();
+ AddSC_dark_portal();
+ AddSC_instance_dark_portal();
+
+ //Coilfang Resevoir
+ //--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();
+
+ //--Slave Pens
+
+ //--Steam Vault
+ AddSC_boss_hydromancer_thespia();
+ AddSC_boss_mekgineer_steamrigger();
+ AddSC_boss_warlord_kalithresh();
+ AddSC_instance_steam_vault();
+
+ //--Underbog
+ AddSC_boss_hungarfen();
+ AddSC_boss_the_black_stalker();
+
+ //Deadmines
+ AddSC_instance_deadmines();
+
+ //Gruul's Lair
+ AddSC_boss_gruul();
+ AddSC_boss_high_king_maulgar();
+ AddSC_instance_gruuls_lair();
+
+ //Hellfire Citadel
+ //--Blood Furnace
+ AddSC_boss_broggok();
+ AddSC_boss_kelidan_the_breaker();
+ AddSC_boss_the_maker();
+ AddSC_instance_blood_furnace();
+
+ //--Magtheridon's Lair
+ AddSC_boss_magtheridon();
+ AddSC_instance_magtheridons_lair();
+
+ //--Shattered Halls
+ AddSC_boss_grand_warlock_nethekurse();
+ AddSC_boss_warbringer_omrogg();
+ AddSC_boss_warchief_kargath_bladefist();
+ AddSC_instance_shattered_halls();
+
+ //--Ramparts
+ AddSC_boss_watchkeeper_gargolmar();
+ AddSC_boss_omor_the_unscarred();
+ AddSC_boss_vazruden_the_herald();
+ AddSC_instance_ramparts();
+
+ //Karazhan
+ AddSC_boss_attumen();
+ 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();
+
+ //Lower Blackrock Spire
+
+ // Magister's Terrace
+ AddSC_boss_felblood_kaelthas();
+ AddSC_boss_selin_fireheart();
+ AddSC_boss_vexallus();
+ AddSC_boss_priestess_delrissa();
+ AddSC_instance_magisters_terrace();
+ AddSC_magisters_terrace();
+
+ //Maraudon
+ AddSC_boss_celebras_the_cursed();
+ AddSC_boss_landslide();
+ AddSC_boss_noxxion();
+ AddSC_boss_ptheradras();
+
+ //Molten core
+ AddSC_boss_lucifron();
+ 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_molten_core();
+
+ //Naxxramas
+ AddSC_boss_anubrekhan();
+ 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();
+
+ //The Nexus
+ //Eye of Eternety
+
+ //Nexus
+ AddSC_boss_magus_telestra();
+ AddSC_boss_anomalus();
+ AddSC_boss_ormorok();
+ AddSC_boss_keristrasza();
+ AddSC_instance_nexus();
+
+ //Oculus
+
+ //Obsidian Sanctum
+ AddSC_boss_sartharion();
+ AddSC_instance_obsidian_sanctum();
+
+ //Onyxia's Lair
+ AddSC_boss_onyxia();
+
+ //Ragefire Chasm
+ //Razorfen Downs
+ AddSC_boss_amnennar_the_coldbringer();
+ AddSC_razorfen_downs();
+
+ //Razorfen Kraul
+ AddSC_razorfen_kraul();
+
+ //Ruins of Ahn'Qiraj
+ //Scarlet Monastery
+ AddSC_boss_arcanist_doan();
+ 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();
+
+ //Scholomance
+ AddSC_boss_darkmaster_gandling();
+ 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_instance_scholomance();
+
+ //Shadowfang keep
+ AddSC_shadowfang_keep();
+ AddSC_instance_shadowfang_keep();
+
+ //Stratholme
+ AddSC_boss_magistrate_barthilas();
+ 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();
+
+ //Sunken Temple
+ //Sunwell Plateau
+ AddSC_instance_sunwell_plateau();
+ AddSC_boss_kalecgos();
+ AddSC_boss_brutallus();
+ AddSC_boss_felmyst();
+ AddSC_boss_eredar_twins();
+ AddSC_boss_muru();
+ AddSC_boss_kiljaeden();
+ AddSC_sunwell_plateau();
+
+ //Tanaris
+
+ //Tempest Keep
+ //--Arcatraz
+ AddSC_arcatraz();
+ AddSC_boss_harbinger_skyriss();
+ AddSC_instance_arcatraz();
+
+ //--Botanica
+ AddSC_boss_high_botanist_freywinn();
+ AddSC_boss_laj();
+ AddSC_boss_warp_splinter();
+
+ //--The Eye
+ AddSC_boss_alar();
+ AddSC_boss_kaelthas();
+ AddSC_boss_void_reaver();
+ AddSC_boss_high_astromancer_solarian();
+ AddSC_instance_the_eye();
+ AddSC_the_eye();
+
+ //--The Mechanar
+ AddSC_boss_gatewatcher_iron_hand();
+ AddSC_boss_nethermancer_sepethrea();
+ AddSC_boss_pathaleon_the_calculator();
+ AddSC_instance_mechanar();
+
+ //Temple of ahn'qiraj
+ AddSC_boss_cthun();
+ AddSC_boss_fankriss();
+ AddSC_boss_huhuran();
+ AddSC_bug_trio();
+ AddSC_boss_sartura();
+ AddSC_boss_skeram();
+ AddSC_boss_twinemperors();
+ AddSC_mob_anubisath_sentinel();
+ AddSC_instance_temple_of_ahnqiraj();
+
+ //Uldaman
+ AddSC_boss_archaedas();
+ AddSC_boss_ironaya();
+ AddSC_uldaman();
+ AddSC_instance_uldaman();
+
+ //Ulduar
+ AddSC_boss_auriaya();
+ AddSC_boss_flame_leviathan();
+ AddSC_boss_ignis();
+ AddSC_boss_razorscale();
+ AddSC_boss_xt002();
+ // AddSC_instance_ulduar();
+
+ //Un'Goro Crater
+ AddSC_ungoro_crater();
+
+ //Upper blackrock spire
+
+ //Utgarde Keep
+ AddSC_boss_keleseth();
+ AddSC_boss_skarvald_dalronn();
+ AddSC_boss_ingvar_the_plunderer();
+ AddSC_instance_utgarde_keep();
+ AddSC_utgarde_keep();
+
+ //Wailing caverns
+ AddSC_wailing_caverns();
+ AddSC_instance_wailing_caverns();
+
+ //Zul'Farrak
+ AddSC_zulfarrak();
+
+ //Zul'Gurub
+ AddSC_boss_jeklik();
+ AddSC_boss_venoxis();
+ AddSC_boss_marli();
+ AddSC_boss_mandokir();
+ AddSC_boss_gahzranka();
+ AddSC_boss_thekal();
+ AddSC_boss_arlokk();
+ AddSC_boss_jindo();
+ AddSC_boss_hakkar();
+ AddSC_boss_grilek();
+ AddSC_boss_hazzarah();
+ AddSC_boss_renataki();
+ AddSC_boss_wushoolay();
+ AddSC_instance_zulgurub();
+
+ //Zul'Aman
+ AddSC_boss_akilzon();
+ AddSC_boss_halazzi();
+ AddSC_boss_hex_lord_malacrass();
+ AddSC_boss_janalai();
+ AddSC_boss_nalorakk();
+ AddSC_boss_zuljin();
+ AddSC_instance_zulaman();
+ AddSC_zulaman();
+
+ //Vault of Archavon
+ AddSC_boss_archavon();
+ AddSC_boss_emalon();
+ AddSC_instance_archavon();
+
+ //Halls of Lightning
+ AddSC_boss_bjarngrim();
+ AddSC_boss_loken();
+ AddSC_instance_halls_of_lightning();
+
+ //Region
+ AddSC_wintergrasp();
+}
diff --git a/src/bindings/scripts/system/ScriptLoader.h b/src/bindings/scripts/system/ScriptLoader.h
new file mode 100644
index 00000000000..57fb7d821f1
--- /dev/null
+++ b/src/bindings/scripts/system/ScriptLoader.h
@@ -0,0 +1,10 @@
+/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
+* This program is free software licensed under GPL version 2
+* Please see the included DOCS/LICENSE.TXT for more information */
+
+#ifndef SC_SCRIPTLOADER_H
+#define SC_SCRIPTLOADER_H
+
+void AddScripts();
+
+#endif
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 48b4845f3f0..2bd8ab771ed 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -479,6 +479,8 @@ Player::Player (WorldSession *session): Unit(), m_achievementMgr(this), m_reputa
m_isWorldObject = true;
sWorld.IncreasePlayerCount();
+
+ m_ChampioningFaction = 0;
}
Player::~Player ()
@@ -6110,11 +6112,35 @@ void Player::RewardReputation(Unit *pVictim, float rate)
if(!Rep)
return;
+ uint32 ChampioningFaction = 0;
+
+ if(GetChampioningFaction())
+ {
+ // support for: Championing - http://www.wowwiki.com/Championing
+
+ Map const *pMap = GetMap();
+ if(pMap && pMap->IsDungeon())
+ {
+ bool Heroic = pMap->IsHeroic();
+
+ InstanceTemplate const *pInstance = objmgr.GetInstanceTemplate(pMap->GetId());
+ if(pInstance)
+ {
+ AccessRequirement const *pAccessRequirement = objmgr.GetAccessRequirement(pInstance->access_id);
+ if(pAccessRequirement)
+ {
+ if(!pMap->IsRaid() && ((!Heroic && pAccessRequirement->levelMin == 80) || (Heroic && pAccessRequirement->heroicLevelMin == 80)))
+ ChampioningFaction = GetChampioningFaction();
+ }
+ }
+ }
+ }
+
if(Rep->repfaction1 && (!Rep->team_dependent || GetTeam()==ALLIANCE))
{
- int32 donerep1 = CalculateReputationGain(pVictim->getLevel(), Rep->repvalue1, Rep->repfaction1, false);
+ int32 donerep1 = CalculateReputationGain(pVictim->getLevel(), Rep->repvalue1, ChampioningFaction ? ChampioningFaction : Rep->repfaction1, false);
donerep1 = int32(donerep1*rate);
- FactionEntry const *factionEntry1 = sFactionStore.LookupEntry(Rep->repfaction1);
+ FactionEntry const *factionEntry1 = sFactionStore.LookupEntry(ChampioningFaction ? ChampioningFaction : Rep->repfaction1);
uint32 current_reputation_rank1 = GetReputationMgr().GetRank(factionEntry1);
if (factionEntry1 && current_reputation_rank1 <= Rep->reputation_max_cap1)
GetReputationMgr().ModifyReputation(factionEntry1, donerep1);
@@ -6130,9 +6156,9 @@ void Player::RewardReputation(Unit *pVictim, float rate)
if(Rep->repfaction2 && (!Rep->team_dependent || GetTeam()==HORDE))
{
- int32 donerep2 = CalculateReputationGain(pVictim->getLevel(), Rep->repvalue2, Rep->repfaction2, false);
+ int32 donerep2 = CalculateReputationGain(pVictim->getLevel(), Rep->repvalue2, ChampioningFaction ? ChampioningFaction : Rep->repfaction2, false);
donerep2 = int32(donerep2*rate);
- FactionEntry const *factionEntry2 = sFactionStore.LookupEntry(Rep->repfaction2);
+ FactionEntry const *factionEntry2 = sFactionStore.LookupEntry(ChampioningFaction ? ChampioningFaction : Rep->repfaction2);
uint32 current_reputation_rank2 = GetReputationMgr().GetRank(factionEntry2);
if (factionEntry2 && current_reputation_rank2 <= Rep->reputation_max_cap2)
GetReputationMgr().ModifyReputation(factionEntry2, donerep2);
@@ -21833,6 +21859,7 @@ void Player::ActivateSpec(uint8 spec)
_LoadActions(result);
}
UnsummonPetTemporaryIfAny();
+ AutoUnequipOffhandIfNeed();
SendActionButtons(1);
SetPower(getPowerType(), 0);
}
diff --git a/src/game/Player.h b/src/game/Player.h
index 7d417ffda11..480e74079d5 100644
--- a/src/game/Player.h
+++ b/src/game/Player.h
@@ -2204,6 +2204,9 @@ class MANGOS_DLL_SPEC Player : public Unit
//bool isActiveObject() const { return true; }
bool canSeeSpellClickOn(Creature const* creature) const;
+
+ inline uint32 GetChampioningFaction() const { return m_ChampioningFaction; }
+ inline void SetChampioningFaction(uint32 faction) { m_ChampioningFaction = faction; }
protected:
uint32 m_contestedPvPTimer;
@@ -2479,6 +2482,8 @@ class MANGOS_DLL_SPEC Player : public Unit
ReputationMgr m_reputationMgr;
SpellCooldowns m_spellCooldowns;
+
+ uint32 m_ChampioningFaction;
};
void AddItemsSetItem(Player*player,Item *item);
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index d19d8120263..77946cf7bba 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -2872,6 +2872,29 @@ void AuraEffect::HandleAuraDummy(bool apply, bool Real, bool changeAmount)
}
return;
}
+ case 57819: // Argent Champion
+ case 57820: // Ebon Champion
+ case 57821: // Champion of the Kirin Tor
+ case 57822: // Wyrmrest Champion
+ {
+ if(!caster || caster->GetTypeId() != TYPEID_PLAYER)
+ return;
+
+ uint32 FactionID = 0;
+
+ if(apply)
+ {
+ switch(m_spellProto->Id)
+ {
+ case 57819: FactionID = 1106; break; // Argent Crusade
+ case 57820: FactionID = 1098; break; // Knights of the Ebon Blade
+ case 57821: FactionID = 1090; break; // Kirin Tor
+ case 57822: FactionID = 1091; break; // The Wyrmrest Accord
+ }
+ }
+ ((Player*)caster)->SetChampioningFaction(FactionID);
+ return;
+ }
// LK Intro VO (1)
case 58204:
if(m_target->GetTypeId() == TYPEID_PLAYER)