aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/collision/Models/GameObjectModel.cpp1
-rwxr-xr-xsrc/server/game/AI/CoreAI/UnitAI.h3
-rwxr-xr-xsrc/server/game/Accounts/AccountMgr.cpp1
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.cpp2
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.h1
-rwxr-xr-xsrc/server/game/Battlegrounds/ArenaTeam.cpp2
-rwxr-xr-xsrc/server/game/Battlegrounds/BattlegroundMgr.cpp1
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundAB.cpp1
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundAV.cpp7
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundIC.cpp1
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundSA.cpp1
-rw-r--r--src/server/game/Calendar/CalendarMgr.cpp1
-rwxr-xr-xsrc/server/game/DungeonFinding/LFGMgr.cpp1
-rw-r--r--src/server/game/DungeonFinding/LFGScripts.cpp1
-rwxr-xr-xsrc/server/game/Entities/Item/Item.cpp1
-rwxr-xr-xsrc/server/game/Entities/Pet/Pet.cpp1
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp13
-rwxr-xr-xsrc/server/game/Entities/Player/Player.h16
-rwxr-xr-xsrc/server/game/Entities/Totem/Totem.cpp5
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.h21
-rwxr-xr-xsrc/server/game/Globals/ObjectMgr.h35
-rwxr-xr-xsrc/server/game/Grids/Notifiers/GridNotifiers.h1
-rwxr-xr-xsrc/server/game/Grids/Notifiers/GridNotifiersImpl.h1
-rwxr-xr-xsrc/server/game/Guilds/Guild.cpp1
-rwxr-xr-xsrc/server/game/Handlers/ArenaTeamHandler.cpp1
-rwxr-xr-xsrc/server/game/Handlers/CombatHandler.cpp1
-rwxr-xr-xsrc/server/game/Handlers/LFGHandler.cpp1
-rwxr-xr-xsrc/server/game/Handlers/LootHandler.cpp13
-rwxr-xr-xsrc/server/game/Handlers/TicketHandler.cpp9
-rwxr-xr-xsrc/server/game/Instances/InstanceScript.cpp2
-rwxr-xr-xsrc/server/game/Maps/MapManager.cpp2
-rwxr-xr-xsrc/server/game/Miscellaneous/SharedDefines.h33
-rw-r--r--src/server/game/Movement/Spline/MoveSplineInit.cpp2
-rwxr-xr-xsrc/server/game/Reputation/ReputationMgr.cpp1
-rwxr-xr-xsrc/server/game/Scripting/ScriptMgr.cpp1
-rwxr-xr-xsrc/server/game/Server/WorldSession.h34
-rwxr-xr-xsrc/server/game/Texts/CreatureTextMgr.h1
-rwxr-xr-xsrc/server/game/Tickets/TicketMgr.cpp1
-rw-r--r--src/server/game/Tools/PlayerDump.cpp1
-rwxr-xr-xsrc/server/game/Weather/Weather.cpp1
-rwxr-xr-xsrc/server/game/Weather/WeatherMgr.cpp2
-rwxr-xr-xsrc/server/game/World/World.h35
-rw-r--r--src/server/scripts/Commands/cs_gm.cpp1
-rw-r--r--src/server/scripts/Commands/cs_gobject.cpp1
-rw-r--r--src/server/scripts/Commands/cs_lookup.cpp1
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp1
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp2
-rw-r--r--src/server/scripts/Commands/cs_ticket.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/eastern_plaguelands.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/ghostlands.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/isle_of_queldanas.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/silvermoon_city.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/stranglethorn_vale.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/western_plaguelands.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp2
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp1
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp1
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp3
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp1
-rw-r--r--src/server/scripts/Kalimdor/azshara.cpp2
-rw-r--r--src/server/scripts/Kalimdor/darkshore.cpp1
-rw-r--r--src/server/scripts/Kalimdor/desolace.cpp1
-rw-r--r--src/server/scripts/Kalimdor/dustwallow_marsh.cpp1
-rw-r--r--src/server/scripts/Kalimdor/feralas.cpp1
-rw-r--r--src/server/scripts/Kalimdor/moonglade.cpp1
-rw-r--r--src/server/scripts/Kalimdor/mulgore.cpp1
-rw-r--r--src/server/scripts/Kalimdor/tanaris.cpp1
-rw-r--r--src/server/scripts/Kalimdor/the_barrens.cpp1
-rw-r--r--src/server/scripts/Kalimdor/ungoro_crater.cpp1
-rw-r--r--src/server/scripts/Kalimdor/winterspring.cpp1
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp1
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp2
-rwxr-xr-xsrc/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp1
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp1
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp1
-rw-r--r--src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp1
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp1
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp1
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp1
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp1
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp1
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp1
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp1
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp1
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp1
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp1
-rw-r--r--src/server/scripts/Northrend/borean_tundra.cpp2
-rw-r--r--src/server/scripts/Northrend/dalaran.cpp1
-rw-r--r--src/server/scripts/Northrend/grizzly_hills.cpp1
-rw-r--r--src/server/scripts/Northrend/storm_peaks.cpp1
-rw-r--r--src/server/scripts/Northrend/zuldrak.cpp1
-rwxr-xr-xsrc/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp1
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp1
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp1
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp1
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp1
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp1
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp1
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp1
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp1
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp1
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp1
-rw-r--r--src/server/scripts/Outland/hellfire_peninsula.cpp1
-rw-r--r--src/server/scripts/Outland/nagrand.cpp1
-rw-r--r--src/server/scripts/Outland/shadowmoon_valley.cpp1
-rw-r--r--src/server/scripts/Outland/shattrath_city.cpp1
-rw-r--r--src/server/scripts/Outland/terokkar_forest.cpp1
-rw-r--r--src/server/scripts/Outland/zangarmarsh.cpp1
-rwxr-xr-xsrc/server/scripts/World/achievement_scripts.cpp1
-rw-r--r--src/server/scripts/World/go_scripts.cpp1
-rw-r--r--src/server/scripts/World/guards.cpp1
-rw-r--r--src/server/scripts/World/npc_innkeeper.cpp1
-rw-r--r--src/server/scripts/World/npc_professions.cpp2
-rw-r--r--src/server/scripts/World/npc_taxi.cpp1
-rw-r--r--src/server/scripts/World/npcs_special.cpp1
142 files changed, 264 insertions, 111 deletions
diff --git a/src/server/collision/Models/GameObjectModel.cpp b/src/server/collision/Models/GameObjectModel.cpp
index d8c39925dc6..ae8465843b5 100644
--- a/src/server/collision/Models/GameObjectModel.cpp
+++ b/src/server/collision/Models/GameObjectModel.cpp
@@ -28,6 +28,7 @@
#include "TemporarySummon.h"
#include "Object.h"
#include "DBCStores.h"
+#include "World.h"
using G3D::Vector3;
using G3D::Ray;
diff --git a/src/server/game/AI/CoreAI/UnitAI.h b/src/server/game/AI/CoreAI/UnitAI.h
index 59604f395f9..2eab0e89fcd 100755
--- a/src/server/game/AI/CoreAI/UnitAI.h
+++ b/src/server/game/AI/CoreAI/UnitAI.h
@@ -24,8 +24,9 @@
#include "Containers.h"
#include <list>
-class Unit;
class Player;
+class Quest;
+class Unit;
struct AISpellInfoType;
// Default script texts
diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp
index 2b67acfd6d0..a82de501ea6 100755
--- a/src/server/game/Accounts/AccountMgr.cpp
+++ b/src/server/game/Accounts/AccountMgr.cpp
@@ -22,6 +22,7 @@
#include "Player.h"
#include "Util.h"
#include "SHA1.h"
+#include "WorldSession.h"
namespace AccountMgr
{
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
index 812dd5a1c2a..0ea4266cc22 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
@@ -22,10 +22,12 @@
#include "BattlefieldWG.h"
#include "ObjectMgr.h"
+#include "Opcodes.h"
#include "Player.h"
#include "SpellAuras.h"
#include "TemporarySummon.h"
#include "Vehicle.h"
+#include "WorldSession.h"
enum WGVehicles
{
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h
index 2aa38b6811a..bd616167e8b 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.h
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h
@@ -22,6 +22,7 @@
#include "ObjectAccessor.h"
#include "WorldPacket.h"
#include "Battlefield.h"
+#include "World.h"
class Group;
class BattlefieldWG;
diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp
index cc543544c7a..fd58765b056 100755
--- a/src/server/game/Battlegrounds/ArenaTeam.cpp
+++ b/src/server/game/Battlegrounds/ArenaTeam.cpp
@@ -23,6 +23,8 @@
#include "Group.h"
#include "ArenaTeamMgr.h"
#include "Player.h"
+#include "WorldSession.h"
+#include "Opcodes.h"
ArenaTeam::ArenaTeam()
: TeamId(0), Type(0), TeamName(), CaptainGuid(0), BackgroundColor(0), EmblemStyle(0), EmblemColor(0),
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
index 6d472faf9c6..0604cadd5ee 100755
--- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
@@ -44,6 +44,7 @@
#include "SharedDefines.h"
#include "Formulas.h"
#include "DisableMgr.h"
+#include "Opcodes.h"
/*********************************************************/
/*** BATTLEGROUND MANAGER ***/
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
index 8f7231ba66e..47320db27cf 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
@@ -26,6 +26,7 @@
#include "Object.h"
#include "Player.h"
#include "Util.h"
+#include "WorldSession.h"
BattlegroundAB::BattlegroundAB()
{
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
index 95aa0308c7d..918cef4d261 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
@@ -21,11 +21,12 @@
#include "ObjectMgr.h"
#include "WorldPacket.h"
-#include "Miscellaneous/Formulas.h"
+#include "Formulas.h"
#include "GameObject.h"
-#include "Miscellaneous/Language.h"
+#include "Language.h"
#include "Player.h"
#include "SpellAuras.h"
+#include "WorldSession.h"
BattlegroundAV::BattlegroundAV()
{
@@ -1707,4 +1708,4 @@ uint32 BattlegroundAV::GetPrematureWinner()
return HORDE;
return Battleground::GetPrematureWinner();
-} \ No newline at end of file
+}
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
index 90c0dae9f5e..dbffc318c78 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
@@ -25,6 +25,7 @@
#include "ObjectMgr.h"
#include "Vehicle.h"
#include "Transport.h"
+#include "WorldSession.h"
BattlegroundIC::BattlegroundIC()
{
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
index 7dba811c1a1..ab479eeff2d 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
@@ -22,6 +22,7 @@
#include "GameObject.h"
#include "ObjectMgr.h"
#include "WorldPacket.h"
+#include "WorldSession.h"
BattlegroundSA::BattlegroundSA()
{
diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp
index 993eb139a55..9f4816d6c7c 100644
--- a/src/server/game/Calendar/CalendarMgr.cpp
+++ b/src/server/game/Calendar/CalendarMgr.cpp
@@ -22,6 +22,7 @@
#include "Player.h"
#include "GuildMgr.h"
#include "ObjectAccessor.h"
+#include "Opcodes.h"
CalendarInvite::~CalendarInvite()
{
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index 7cb9efa2f2f..41d3b540089 100755
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -31,6 +31,7 @@
#include "Player.h"
#include "GroupMgr.h"
#include "GameEventMgr.h"
+#include "WorldSession.h"
LFGMgr::LFGMgr(): m_QueueTimer(0), m_lfgProposalId(1),
m_options(sWorld->getIntConfig(CONFIG_LFG_OPTIONSMASK))
diff --git a/src/server/game/DungeonFinding/LFGScripts.cpp b/src/server/game/DungeonFinding/LFGScripts.cpp
index 91314e64285..930367a0745 100644
--- a/src/server/game/DungeonFinding/LFGScripts.cpp
+++ b/src/server/game/DungeonFinding/LFGScripts.cpp
@@ -27,6 +27,7 @@
#include "LFGMgr.h"
#include "ScriptMgr.h"
#include "ObjectAccessor.h"
+#include "WorldSession.h"
LFGPlayerScript::LFGPlayerScript() : PlayerScript("LFGPlayerScript")
{
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index 8711388a61c..a1ff6cf2ce8 100755
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -27,6 +27,7 @@
#include "ScriptMgr.h"
#include "ConditionMgr.h"
#include "Player.h"
+#include "Opcodes.h"
void AddItemsSetItem(Player* player, Item* item)
{
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp
index 45b6e452054..b6417681f4a 100755
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -30,6 +30,7 @@
#include "Unit.h"
#include "Util.h"
#include "Group.h"
+#include "Opcodes.h"
#define PET_XP_FACTOR 0.05f
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index a95ce52c3f6..973eca27c56 100755
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -16653,6 +16653,11 @@ float Player::GetFloatValueFromArray(Tokenizer const& data, uint16 index)
return result;
}
+bool Player::isBeingLoaded() const
+{
+ return GetSession()->PlayerLoading();
+}
+
bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
{
//// 0 1 2 3 4 5 6 7 8 9 10 11
@@ -18514,6 +18519,14 @@ bool Player::CheckInstanceLoginValid()
return sMapMgr->CanPlayerEnter(GetMap()->GetId(), this, true);
}
+bool Player::CheckInstanceCount(uint32 instanceId) const
+{
+ if (_instanceResetTimes.size() < sWorld->getIntConfig(CONFIG_MAX_INSTANCES_PER_HOUR))
+ return true;
+ return _instanceResetTimes.find(instanceId) != _instanceResetTimes.end();
+}
+
+
bool Player::_LoadHomeBind(PreparedQueryResult result)
{
PlayerInfo const* info = sObjectMgr->GetPlayerInfo(getRace(), getClass());
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 07c00031e6b..3ff70e76cec 100755
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -26,20 +26,22 @@
#include "Item.h"
#include "PetDefines.h"
#include "QuestDef.h"
-#include "Unit.h"
#include "SpellMgr.h"
+#include "Unit.h"
#include <string>
#include <vector>
+struct CreatureTemplate;
struct Mail;
+struct TrainerSpell;
struct VendorItem;
class AchievementMgr;
class ReputationMgr;
class Channel;
+class CharacterCreateInfo;
class Creature;
-class CreatureTemplate;
class DynamicObject;
class Group;
class Guild;
@@ -48,7 +50,6 @@ class Pet;
class PlayerMenu;
class PlayerSocial;
class SpellCastTargets;
-class TrainerSpell;
class UpdateMask;
typedef std::deque<Mail*> PlayerMails;
@@ -1490,7 +1491,7 @@ class Player : public Unit, public GridObject<Player>
/*********************************************************/
bool LoadFromDB(uint32 guid, SQLQueryHolder *holder);
- bool isBeingLoaded() const { return GetSession()->PlayerLoading();}
+ bool isBeingLoaded() const;
void Initialize(uint32 guid);
static uint32 GetUInt32ValueFromArray(Tokenizer const& data, uint16 index);
@@ -2375,12 +2376,7 @@ class Player : public Unit, public GridObject<Player>
static void ConvertInstancesToGroup(Player* player, Group* group, bool switchLeader);
bool Satisfy(AccessRequirement const* ar, uint32 target_map, bool report = false);
bool CheckInstanceLoginValid();
- bool CheckInstanceCount(uint32 instanceId) const
- {
- if (_instanceResetTimes.size() < sWorld->getIntConfig(CONFIG_MAX_INSTANCES_PER_HOUR))
- return true;
- return _instanceResetTimes.find(instanceId) != _instanceResetTimes.end();
- }
+ bool CheckInstanceCount(uint32 instanceId) const;
void AddInstanceEnterTime(uint32 instanceId, time_t enterTime)
{
diff --git a/src/server/game/Entities/Totem/Totem.cpp b/src/server/game/Entities/Totem/Totem.cpp
index d5d1bd99277..4d726181c4f 100755
--- a/src/server/game/Entities/Totem/Totem.cpp
+++ b/src/server/game/Entities/Totem/Totem.cpp
@@ -17,13 +17,14 @@
*/
#include "Totem.h"
-#include "WorldPacket.h"
#include "Log.h"
#include "Group.h"
-#include "Player.h"
#include "ObjectMgr.h"
+#include "Opcodes.h"
+#include "Player.h"
#include "SpellMgr.h"
#include "SpellInfo.h"
+#include "WorldPacket.h"
Totem::Totem(SummonPropertiesEntry const* properties, Unit* owner) : Minion(properties, owner, false)
{
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index d3a87a1c44e..b6c0b0059b6 100755
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -19,24 +19,14 @@
#ifndef __UNIT_H
#define __UNIT_H
-#include "Common.h"
-#include "Object.h"
-#include "Opcodes.h"
-#include "SpellAuraDefines.h"
-#include "UpdateFields.h"
-#include "SharedDefines.h"
-#include "ThreatManager.h"
-#include "HostileRefManager.h"
+#include "EventProcessor.h"
#include "FollowerReference.h"
#include "FollowerRefManager.h"
-#include "EventProcessor.h"
+#include "HostileRefManager.h"
#include "MotionMaster.h"
-#include "DBCStructure.h"
-#include "SpellInfo.h"
-#include "Path.h"
-#include "WorldPacket.h"
-#include "Timer.h"
-#include <list>
+#include "Object.h"
+#include "SpellAuraDefines.h"
+#include "ThreatManager.h"
#define WORLD_TRIGGER 12999
@@ -342,6 +332,7 @@ class Totem;
class Transport;
class Vehicle;
class TransportBase;
+class SpellCastTargets;
typedef std::list<Unit*> UnitList;
typedef std::list< std::pair<Aura*, uint8> > DispelChargesList;
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index c4d4299bbab..3dcab3df951 100755
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -69,6 +69,41 @@ struct PageText
#pragma pack(pop)
#endif
+// DB scripting commands
+enum ScriptCommands
+{
+ SCRIPT_COMMAND_TALK = 0, // source/target = Creature, target = any, datalong = talk type (0=say, 1=whisper, 2=yell, 3=emote text, 4=boss emote text), datalong2 & 1 = player talk (instead of creature), dataint = string_id
+ SCRIPT_COMMAND_EMOTE = 1, // source/target = Creature, datalong = emote id, datalong2 = 0: set emote state; > 0: play emote state
+ SCRIPT_COMMAND_FIELD_SET = 2, // source/target = Creature, datalong = field id, datalog2 = value
+ SCRIPT_COMMAND_MOVE_TO = 3, // source/target = Creature, datalong2 = time to reach, x/y/z = destination
+ SCRIPT_COMMAND_FLAG_SET = 4, // source/target = Creature, datalong = field id, datalog2 = bitmask
+ SCRIPT_COMMAND_FLAG_REMOVE = 5, // source/target = Creature, datalong = field id, datalog2 = bitmask
+ SCRIPT_COMMAND_TELEPORT_TO = 6, // source/target = Creature/Player (see datalong2), datalong = map_id, datalong2 = 0: Player; 1: Creature, x/y/z = destination, o = orientation
+ SCRIPT_COMMAND_QUEST_EXPLORED = 7, // target/source = Player, target/source = GO/Creature, datalong = quest id, datalong2 = distance or 0
+ SCRIPT_COMMAND_KILL_CREDIT = 8, // target/source = Player, datalong = creature entry, datalong2 = 0: personal credit, 1: group credit
+ SCRIPT_COMMAND_RESPAWN_GAMEOBJECT = 9, // source = WorldObject (summoner), datalong = GO guid, datalong2 = despawn delay
+ SCRIPT_COMMAND_TEMP_SUMMON_CREATURE = 10, // source = WorldObject (summoner), datalong = creature entry, datalong2 = despawn delay, x/y/z = summon position, o = orientation
+ SCRIPT_COMMAND_OPEN_DOOR = 11, // source = Unit, datalong = GO guid, datalong2 = reset delay (min 15)
+ SCRIPT_COMMAND_CLOSE_DOOR = 12, // source = Unit, datalong = GO guid, datalong2 = reset delay (min 15)
+ SCRIPT_COMMAND_ACTIVATE_OBJECT = 13, // source = Unit, target = GO
+ SCRIPT_COMMAND_REMOVE_AURA = 14, // source (datalong2 != 0) or target (datalong2 == 0) = Unit, datalong = spell id
+ SCRIPT_COMMAND_CAST_SPELL = 15, // source and/or target = Unit, datalong2 = cast direction (0: s->t 1: s->s 2: t->t 3: t->s 4: s->creature with dataint entry), dataint & 1 = triggered flag
+ SCRIPT_COMMAND_PLAY_SOUND = 16, // source = WorldObject, target = none/Player, datalong = sound id, datalong2 (bitmask: 0/1=anyone/player, 0/2=without/with distance dependency, so 1|2 = 3 is target with distance dependency)
+ SCRIPT_COMMAND_CREATE_ITEM = 17, // target/source = Player, datalong = item entry, datalong2 = amount
+ SCRIPT_COMMAND_DESPAWN_SELF = 18, // target/source = Creature, datalong = despawn delay
+
+ SCRIPT_COMMAND_LOAD_PATH = 20, // source = Unit, datalong = path id, datalong2 = is repeatable
+ SCRIPT_COMMAND_CALLSCRIPT_TO_UNIT = 21, // source = WorldObject (if present used as a search center), datalong = script id, datalong2 = unit lowguid, dataint = script table to use (see ScriptsType)
+ SCRIPT_COMMAND_KILL = 22, // source/target = Creature, dataint = remove corpse attribute
+
+ // TrinityCore only
+ SCRIPT_COMMAND_ORIENTATION = 30, // source = Unit, target (datalong > 0) = Unit, datalong = > 0 turn source to face target, o = orientation
+ SCRIPT_COMMAND_EQUIP = 31, // soucre = Creature, datalong = equipment id
+ SCRIPT_COMMAND_MODEL = 32, // source = Creature, datalong = model id
+ SCRIPT_COMMAND_CLOSE_GOSSIP = 33, // source = Player
+ SCRIPT_COMMAND_PLAYMOVIE = 34 // source = Player, datalong = movie id
+};
+
// Benchmarked: Faster than UNORDERED_MAP (insert/find)
typedef std::map<uint32, PageText> PageTextContainer;
diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h
index db4dc819557..752c6ec068e 100755
--- a/src/server/game/Grids/Notifiers/GridNotifiers.h
+++ b/src/server/game/Grids/Notifiers/GridNotifiers.h
@@ -31,6 +31,7 @@
#include "Unit.h"
#include "CreatureAI.h"
#include "Spell.h"
+#include "WorldSession.h"
class Player;
//class Map;
diff --git a/src/server/game/Grids/Notifiers/GridNotifiersImpl.h b/src/server/game/Grids/Notifiers/GridNotifiersImpl.h
index e3cda4dd76d..2d60678d4ff 100755
--- a/src/server/game/Grids/Notifiers/GridNotifiersImpl.h
+++ b/src/server/game/Grids/Notifiers/GridNotifiersImpl.h
@@ -26,6 +26,7 @@
#include "UpdateData.h"
#include "CreatureAI.h"
#include "SpellAuras.h"
+#include "Opcodes.h"
template<class T>
inline void Trinity::VisibleNotifier::Visit(GridRefManager<T> &m)
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 5cb02603598..a03e94ff190 100755
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -27,6 +27,7 @@
#include "Log.h"
#include "ScriptMgr.h"
#include "SocialMgr.h"
+#include "Opcodes.h"
#define MAX_GUILD_BANK_TAB_TEXT_LEN 500
#define EMBLEM_PRICE 10 * GOLD
diff --git a/src/server/game/Handlers/ArenaTeamHandler.cpp b/src/server/game/Handlers/ArenaTeamHandler.cpp
index d3738883d6d..b8592fd846e 100755
--- a/src/server/game/Handlers/ArenaTeamHandler.cpp
+++ b/src/server/game/Handlers/ArenaTeamHandler.cpp
@@ -27,6 +27,7 @@
#include "ObjectMgr.h"
#include "SocialMgr.h"
#include "ArenaTeamMgr.h"
+#include "Opcodes.h"
void WorldSession::HandleInspectArenaTeamsOpcode(WorldPacket & recvData)
{
diff --git a/src/server/game/Handlers/CombatHandler.cpp b/src/server/game/Handlers/CombatHandler.cpp
index 391a6fc0831..d30164b2592 100755
--- a/src/server/game/Handlers/CombatHandler.cpp
+++ b/src/server/game/Handlers/CombatHandler.cpp
@@ -26,6 +26,7 @@
#include "Vehicle.h"
#include "VehicleDefines.h"
#include "Player.h"
+#include "Opcodes.h"
void WorldSession::HandleAttackSwingOpcode(WorldPacket& recvData)
{
diff --git a/src/server/game/Handlers/LFGHandler.cpp b/src/server/game/Handlers/LFGHandler.cpp
index 9926c75eb2a..92d70c8a19f 100755
--- a/src/server/game/Handlers/LFGHandler.cpp
+++ b/src/server/game/Handlers/LFGHandler.cpp
@@ -23,6 +23,7 @@
#include "LFGMgr.h"
#include "ObjectMgr.h"
#include "GroupMgr.h"
+#include "Opcodes.h"
void BuildPlayerLockDungeonBlock(WorldPacket& data, const LfgLockMap& lock)
{
diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp
index 635afd55a87..1c9719a210f 100755
--- a/src/server/game/Handlers/LootHandler.cpp
+++ b/src/server/game/Handlers/LootHandler.cpp
@@ -17,18 +17,19 @@
*/
#include "Common.h"
-#include "WorldPacket.h"
#include "Log.h"
#include "Corpse.h"
+#include "Creature.h"
#include "GameObject.h"
-#include "Player.h"
-#include "ObjectAccessor.h"
-#include "WorldSession.h"
+#include "Group.h"
#include "LootMgr.h"
+#include "ObjectAccessor.h"
#include "Object.h"
-#include "Group.h"
+#include "Opcodes.h"
+#include "Player.h"
#include "World.h"
-#include "Creature.h"
+#include "WorldPacket.h"
+#include "WorldSession.h"
void WorldSession::HandleAutostoreLootItemOpcode(WorldPacket & recvData)
{
diff --git a/src/server/game/Handlers/TicketHandler.cpp b/src/server/game/Handlers/TicketHandler.cpp
index 41e834d84e8..1571d857f41 100755
--- a/src/server/game/Handlers/TicketHandler.cpp
+++ b/src/server/game/Handlers/TicketHandler.cpp
@@ -17,15 +17,16 @@
*/
#include "zlib.h"
-#include "Language.h"
-#include "WorldPacket.h"
#include "Common.h"
+#include "Language.h"
#include "ObjectMgr.h"
-#include "TicketMgr.h"
+#include "Opcodes.h"
#include "Player.h"
+#include "TicketMgr.h"
+#include "Util.h"
#include "World.h"
+#include "WorldPacket.h"
#include "WorldSession.h"
-#include "Util.h"
void WorldSession::HandleGMTicketCreateOpcode(WorldPacket& recvData)
{
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp
index a2628fbb265..a370cf25d97 100755
--- a/src/server/game/Instances/InstanceScript.cpp
+++ b/src/server/game/Instances/InstanceScript.cpp
@@ -26,6 +26,8 @@
#include "Map.h"
#include "Player.h"
#include "Pet.h"
+#include "WorldSession.h"
+#include "Opcodes.h"
void InstanceScript::SaveToDB()
{
diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp
index c1df52c51be..96a2a44655d 100755
--- a/src/server/game/Maps/MapManager.cpp
+++ b/src/server/game/Maps/MapManager.cpp
@@ -34,6 +34,8 @@
#include "WorldPacket.h"
#include "Group.h"
#include "Player.h"
+#include "WorldSession.h"
+#include "Opcodes.h"
extern GridState* si_GridStates[]; // debugging code, should be deleted some day
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index 810419bc2ea..8fa6adaf525 100755
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -3497,4 +3497,37 @@ enum DungeonStatusFlag
RAID_STATUSFLAG_25MAN_HEROIC = 0x08
};
+enum PartyResult
+{
+ ERR_PARTY_RESULT_OK = 0,
+ ERR_BAD_PLAYER_NAME_S = 1,
+ ERR_TARGET_NOT_IN_GROUP_S = 2,
+ ERR_TARGET_NOT_IN_INSTANCE_S = 3,
+ ERR_GROUP_FULL = 4,
+ ERR_ALREADY_IN_GROUP_S = 5,
+ ERR_NOT_IN_GROUP = 6,
+ ERR_NOT_LEADER = 7,
+ ERR_PLAYER_WRONG_FACTION = 8,
+ ERR_IGNORING_YOU_S = 9,
+ ERR_LFG_PENDING = 12,
+ ERR_INVITE_RESTRICTED = 13,
+ ERR_GROUP_SWAP_FAILED = 14, // if (PartyOperation == PARTY_OP_SWAP) ERR_GROUP_SWAP_FAILED else ERR_INVITE_IN_COMBAT
+ ERR_INVITE_UNKNOWN_REALM = 15,
+ ERR_INVITE_NO_PARTY_SERVER = 16,
+ ERR_INVITE_PARTY_BUSY = 17,
+ ERR_PARTY_TARGET_AMBIGUOUS = 18,
+ ERR_PARTY_LFG_INVITE_RAID_LOCKED = 19,
+ ERR_PARTY_LFG_BOOT_LIMIT = 20,
+ ERR_PARTY_LFG_BOOT_COOLDOWN_S = 21,
+ ERR_PARTY_LFG_BOOT_IN_PROGRESS = 22,
+ ERR_PARTY_LFG_BOOT_TOO_FEW_PLAYERS = 23,
+ ERR_PARTY_LFG_BOOT_NOT_ELIGIBLE_S = 24,
+ ERR_RAID_DISALLOWED_BY_LEVEL = 25,
+ ERR_PARTY_LFG_BOOT_IN_COMBAT = 26,
+ ERR_VOTE_KICK_REASON_NEEDED = 27,
+ ERR_PARTY_LFG_BOOT_DUNGEON_COMPLETE = 28,
+ ERR_PARTY_LFG_BOOT_LOOT_ROLLS = 29,
+ ERR_PARTY_LFG_TELEPORT_IN_COMBAT = 30
+};
+
#endif
diff --git a/src/server/game/Movement/Spline/MoveSplineInit.cpp b/src/server/game/Movement/Spline/MoveSplineInit.cpp
index 7d533593878..df0b3e3944f 100644
--- a/src/server/game/Movement/Spline/MoveSplineInit.cpp
+++ b/src/server/game/Movement/Spline/MoveSplineInit.cpp
@@ -22,6 +22,8 @@
#include "Unit.h"
#include "Transport.h"
#include "Vehicle.h"
+#include "WorldPacket.h"
+#include "Opcodes.h"
namespace Movement
{
diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp
index 356a70ba6a5..3a8dc7c5e63 100755
--- a/src/server/game/Reputation/ReputationMgr.cpp
+++ b/src/server/game/Reputation/ReputationMgr.cpp
@@ -24,6 +24,7 @@
#include "World.h"
#include "ObjectMgr.h"
#include "ScriptMgr.h"
+#include "Opcodes.h"
const int32 ReputationMgr::PointsInRank[MAX_REPUTATION_RANK] = {36000, 3000, 3000, 3000, 6000, 12000, 21000, 1000};
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index ac745eb1b5f..6682d3c11e3 100755
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -31,6 +31,7 @@
#include "GossipDef.h"
#include "CreatureAI.h"
#include "Player.h"
+#include "WorldPacket.h"
// This is the global static registry of scripts.
template<class TScript>
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 2060ab54cba..a442bb45a69 100755
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -91,40 +91,6 @@ enum PartyOperation
PARTY_OP_SWAP = 4
};
-enum PartyResult
-{
- ERR_PARTY_RESULT_OK = 0,
- ERR_BAD_PLAYER_NAME_S = 1,
- ERR_TARGET_NOT_IN_GROUP_S = 2,
- ERR_TARGET_NOT_IN_INSTANCE_S = 3,
- ERR_GROUP_FULL = 4,
- ERR_ALREADY_IN_GROUP_S = 5,
- ERR_NOT_IN_GROUP = 6,
- ERR_NOT_LEADER = 7,
- ERR_PLAYER_WRONG_FACTION = 8,
- ERR_IGNORING_YOU_S = 9,
- ERR_LFG_PENDING = 12,
- ERR_INVITE_RESTRICTED = 13,
- ERR_GROUP_SWAP_FAILED = 14, // if (PartyOperation == PARTY_OP_SWAP) ERR_GROUP_SWAP_FAILED else ERR_INVITE_IN_COMBAT
- ERR_INVITE_UNKNOWN_REALM = 15,
- ERR_INVITE_NO_PARTY_SERVER = 16,
- ERR_INVITE_PARTY_BUSY = 17,
- ERR_PARTY_TARGET_AMBIGUOUS = 18,
- ERR_PARTY_LFG_INVITE_RAID_LOCKED = 19,
- ERR_PARTY_LFG_BOOT_LIMIT = 20,
- ERR_PARTY_LFG_BOOT_COOLDOWN_S = 21,
- ERR_PARTY_LFG_BOOT_IN_PROGRESS = 22,
- ERR_PARTY_LFG_BOOT_TOO_FEW_PLAYERS = 23,
- ERR_PARTY_LFG_BOOT_NOT_ELIGIBLE_S = 24,
- ERR_RAID_DISALLOWED_BY_LEVEL = 25,
- ERR_PARTY_LFG_BOOT_IN_COMBAT = 26,
- ERR_VOTE_KICK_REASON_NEEDED = 27,
- ERR_PARTY_LFG_BOOT_DUNGEON_COMPLETE = 28,
- ERR_PARTY_LFG_BOOT_LOOT_ROLLS = 29,
- ERR_PARTY_LFG_TELEPORT_IN_COMBAT = 30
-};
-
-
enum BFLeaveReason
{
BF_LEAVE_REASON_CLOSE = 0x00000001,
diff --git a/src/server/game/Texts/CreatureTextMgr.h b/src/server/game/Texts/CreatureTextMgr.h
index a86a1059e7d..df6dd7fe4f3 100755
--- a/src/server/game/Texts/CreatureTextMgr.h
+++ b/src/server/game/Texts/CreatureTextMgr.h
@@ -22,6 +22,7 @@
#include "GridNotifiers.h"
#include "ObjectAccessor.h"
#include "SharedDefines.h"
+#include "Opcodes.h"
struct CreatureTextEntry
{
diff --git a/src/server/game/Tickets/TicketMgr.cpp b/src/server/game/Tickets/TicketMgr.cpp
index 3003221b650..3f0e608ec14 100755
--- a/src/server/game/Tickets/TicketMgr.cpp
+++ b/src/server/game/Tickets/TicketMgr.cpp
@@ -26,6 +26,7 @@
#include "Chat.h"
#include "World.h"
#include "Player.h"
+#include "Opcodes.h"
inline float GetAge(uint64 t) { return float(time(NULL) - t) / DAY; }
diff --git a/src/server/game/Tools/PlayerDump.cpp b/src/server/game/Tools/PlayerDump.cpp
index ec7d2e08001..57986243879 100644
--- a/src/server/game/Tools/PlayerDump.cpp
+++ b/src/server/game/Tools/PlayerDump.cpp
@@ -22,6 +22,7 @@
#include "UpdateFields.h"
#include "ObjectMgr.h"
#include "AccountMgr.h"
+#include "World.h"
#define DUMP_TABLE_COUNT 27
struct DumpTable
diff --git a/src/server/game/Weather/Weather.cpp b/src/server/game/Weather/Weather.cpp
index 896e7161606..e119ebf5f2e 100755
--- a/src/server/game/Weather/Weather.cpp
+++ b/src/server/game/Weather/Weather.cpp
@@ -28,6 +28,7 @@
#include "ObjectMgr.h"
#include "Util.h"
#include "ScriptMgr.h"
+#include "Opcodes.h"
/// Create the Weather object
Weather::Weather(uint32 zone, WeatherData const* weatherChances)
diff --git a/src/server/game/Weather/WeatherMgr.cpp b/src/server/game/Weather/WeatherMgr.cpp
index 3371691fa41..c96ec1742cf 100755
--- a/src/server/game/Weather/WeatherMgr.cpp
+++ b/src/server/game/Weather/WeatherMgr.cpp
@@ -26,6 +26,8 @@
#include "ObjectMgr.h"
#include "AutoPtr.h"
#include "Player.h"
+#include "WorldPacket.h"
+#include "Opcodes.h"
namespace WeatherMgr
{
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index ee4bfdfd208..40ef0d7a8e5 100755
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -474,41 +474,6 @@ enum WorldStates
WS_GUILD_DAILY_RESET_TIME = 20006, // Next guild cap reset time
};
-// DB scripting commands
-enum ScriptCommands
-{
- SCRIPT_COMMAND_TALK = 0, // source/target = Creature, target = any, datalong = talk type (0=say, 1=whisper, 2=yell, 3=emote text, 4=boss emote text), datalong2 & 1 = player talk (instead of creature), dataint = string_id
- SCRIPT_COMMAND_EMOTE = 1, // source/target = Creature, datalong = emote id, datalong2 = 0: set emote state; > 0: play emote state
- SCRIPT_COMMAND_FIELD_SET = 2, // source/target = Creature, datalong = field id, datalog2 = value
- SCRIPT_COMMAND_MOVE_TO = 3, // source/target = Creature, datalong2 = time to reach, x/y/z = destination
- SCRIPT_COMMAND_FLAG_SET = 4, // source/target = Creature, datalong = field id, datalog2 = bitmask
- SCRIPT_COMMAND_FLAG_REMOVE = 5, // source/target = Creature, datalong = field id, datalog2 = bitmask
- SCRIPT_COMMAND_TELEPORT_TO = 6, // source/target = Creature/Player (see datalong2), datalong = map_id, datalong2 = 0: Player; 1: Creature, x/y/z = destination, o = orientation
- SCRIPT_COMMAND_QUEST_EXPLORED = 7, // target/source = Player, target/source = GO/Creature, datalong = quest id, datalong2 = distance or 0
- SCRIPT_COMMAND_KILL_CREDIT = 8, // target/source = Player, datalong = creature entry, datalong2 = 0: personal credit, 1: group credit
- SCRIPT_COMMAND_RESPAWN_GAMEOBJECT = 9, // source = WorldObject (summoner), datalong = GO guid, datalong2 = despawn delay
- SCRIPT_COMMAND_TEMP_SUMMON_CREATURE = 10, // source = WorldObject (summoner), datalong = creature entry, datalong2 = despawn delay, x/y/z = summon position, o = orientation
- SCRIPT_COMMAND_OPEN_DOOR = 11, // source = Unit, datalong = GO guid, datalong2 = reset delay (min 15)
- SCRIPT_COMMAND_CLOSE_DOOR = 12, // source = Unit, datalong = GO guid, datalong2 = reset delay (min 15)
- SCRIPT_COMMAND_ACTIVATE_OBJECT = 13, // source = Unit, target = GO
- SCRIPT_COMMAND_REMOVE_AURA = 14, // source (datalong2 != 0) or target (datalong2 == 0) = Unit, datalong = spell id
- SCRIPT_COMMAND_CAST_SPELL = 15, // source and/or target = Unit, datalong2 = cast direction (0: s->t 1: s->s 2: t->t 3: t->s 4: s->creature with dataint entry), dataint & 1 = triggered flag
- SCRIPT_COMMAND_PLAY_SOUND = 16, // source = WorldObject, target = none/Player, datalong = sound id, datalong2 (bitmask: 0/1=anyone/player, 0/2=without/with distance dependency, so 1|2 = 3 is target with distance dependency)
- SCRIPT_COMMAND_CREATE_ITEM = 17, // target/source = Player, datalong = item entry, datalong2 = amount
- SCRIPT_COMMAND_DESPAWN_SELF = 18, // target/source = Creature, datalong = despawn delay
-
- SCRIPT_COMMAND_LOAD_PATH = 20, // source = Unit, datalong = path id, datalong2 = is repeatable
- SCRIPT_COMMAND_CALLSCRIPT_TO_UNIT = 21, // source = WorldObject (if present used as a search center), datalong = script id, datalong2 = unit lowguid, dataint = script table to use (see ScriptsType)
- SCRIPT_COMMAND_KILL = 22, // source/target = Creature, dataint = remove corpse attribute
-
- // TrinityCore only
- SCRIPT_COMMAND_ORIENTATION = 30, // source = Unit, target (datalong > 0) = Unit, datalong = > 0 turn source to face target, o = orientation
- SCRIPT_COMMAND_EQUIP = 31, // soucre = Creature, datalong = equipment id
- SCRIPT_COMMAND_MODEL = 32, // source = Creature, datalong = model id
- SCRIPT_COMMAND_CLOSE_GOSSIP = 33, // source = Player
- SCRIPT_COMMAND_PLAYMOVIE = 34 // source = Player, datalong = movie id
-};
-
/// Storage class for commands issued for delayed execution
struct CliCommandHolder
{
diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp
index 0c24a9d8746..b46f99eaa8f 100644
--- a/src/server/scripts/Commands/cs_gm.cpp
+++ b/src/server/scripts/Commands/cs_gm.cpp
@@ -29,6 +29,7 @@ EndScriptData */
#include "Language.h"
#include "World.h"
#include "Player.h"
+#include "Opcodes.h"
class gm_commandscript : public CommandScript
{
diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp
index 5a24df4ee66..c9f07c90259 100644
--- a/src/server/scripts/Commands/cs_gobject.cpp
+++ b/src/server/scripts/Commands/cs_gobject.cpp
@@ -30,6 +30,7 @@ EndScriptData */
#include "Chat.h"
#include "Language.h"
#include "Player.h"
+#include "Opcodes.h"
class gobject_commandscript : public CommandScript
{
diff --git a/src/server/scripts/Commands/cs_lookup.cpp b/src/server/scripts/Commands/cs_lookup.cpp
index e7e86fedef0..c265cd1faa5 100644
--- a/src/server/scripts/Commands/cs_lookup.cpp
+++ b/src/server/scripts/Commands/cs_lookup.cpp
@@ -30,6 +30,7 @@ EndScriptData */
#include "Player.h"
#include "ReputationMgr.h"
#include "ScriptMgr.h"
+#include "SpellInfo.h"
class lookup_commandscript : public CommandScript
{
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index 8a5af6c0df3..5e54778b14a 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -26,6 +26,7 @@
#include "Language.h"
#include "MovementGenerator.h"
#include "ObjectAccessor.h"
+#include "Opcodes.h"
#include "SpellAuras.h"
#include "TargetedMovementGenerator.h"
#include "WeatherMgr.h"
diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp
index 23a1d90368f..16599e5d892 100644
--- a/src/server/scripts/Commands/cs_modify.cpp
+++ b/src/server/scripts/Commands/cs_modify.cpp
@@ -24,11 +24,13 @@ EndScriptData */
#include "Chat.h"
#include "ObjectMgr.h"
+#include "Opcodes.h"
#include "Pet.h"
#include "Player.h"
#include "ReputationMgr.h"
#include "ScriptMgr.h"
+
class modify_commandscript : public CommandScript
{
public:
diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp
index c0b3809c836..c2c5a0909d6 100644
--- a/src/server/scripts/Commands/cs_ticket.cpp
+++ b/src/server/scripts/Commands/cs_ticket.cpp
@@ -26,6 +26,7 @@ EndScriptData */
#include "Chat.h"
#include "Language.h"
#include "ObjectMgr.h"
+#include "Opcodes.h"
#include "Player.h"
#include "TicketMgr.h"
#include "ScriptMgr.h"
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
index 5c65531c615..b5283900eb0 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
@@ -21,6 +21,7 @@
#include "ScriptedGossip.h"
#include "blackrock_depths.h"
#include "Player.h"
+#include "WorldSession.h"
//go_shadowforge_brazier
class go_shadowforge_brazier : public GameObjectScript
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp
index ae9071f3fd0..5ce55307675 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp
@@ -28,6 +28,7 @@ EndScriptData */
#include "deadmines.h"
#include "Spell.h"
#include "Player.h"
+#include "WorldSession.h"
/*#####
# item_Defias_Gunpowder
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
index 8ee4ab0f594..1b2beb11351 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
@@ -27,6 +27,8 @@ EndScriptData */
#include "InstanceScript.h"
#include "deadmines.h"
#include "TemporarySummon.h"
+#include "WorldPacket.h"
+#include "Opcodes.h"
enum Sounds
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
index 7eeced1d970..580acf2c489 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
@@ -25,6 +25,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "SpellInfo.h"
#define SAY_MIDNIGHT_KILL -1532000
#define SAY_APPEAR1 -1532001
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
index d1c4790d705..242940bd5e7 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
@@ -26,6 +26,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "karazhan.h"
+#include "SpellInfo.h"
#define SAY_AGGRO -1532091
#define SAY_AXE_TOSS1 -1532092
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
index 25fafdfcd0d..8eecc5618ee 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
@@ -27,6 +27,7 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "karazhan.h"
#include "GameObject.h"
+#include "SpellInfo.h"
#define SAY_AGGRO1 -1532073
#define SAY_AGGRO2 -1532074
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
index 2c1d4ac0e71..cd1a803e478 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
@@ -28,6 +28,7 @@ EndScriptData */
#include "ScriptedGossip.h"
#include "karazhan.h"
#include "Player.h"
+#include "SpellInfo.h"
/***********************************/
/*** OPERA WIZARD OF OZ EVENT *****/
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
index 047809286f7..eec520f04e2 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
@@ -27,6 +27,7 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "magisters_terrace.h"
#include "WorldPacket.h"
+#include "Opcodes.h"
#define SAY_AGGRO -1585023 //This yell should be done when the room is cleared. For now, set it as a movelineofsight yell.
#define SAY_PHOENIX -1585024
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
index 37b2dd18afe..5925be5f415 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
@@ -31,6 +31,7 @@ EndContentData */
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Player.h"
+#include "SpellInfo.h"
/*######
## npc_kalecgos
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index eb695e984cb..0cb2bd7f7bc 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -24,6 +24,7 @@
#include "CombatAI.h"
#include "PassiveAI.h"
#include "Player.h"
+#include "SpellInfo.h"
/*######
##Quest 12848
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index 51581b53e5f..7a6e9aab31d 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -19,6 +19,7 @@
#include "ScriptedCreature.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "SpellInfo.h"
//How to win friends and influence enemies
// texts signed for creature 28939 but used for 28939, 28940, 28610
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index fc2e53aedfb..fe67245b7a9 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -29,6 +29,7 @@ EndScriptData */
#include "scarlet_monastery.h"
#include "LFGMgr.h"
#include "Player.h"
+#include "SpellInfo.h"
//this texts are already used by 3975 and 3976
enum Says
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
index 0aad2857a45..4b3c8f2160e 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
@@ -26,6 +26,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "scarlet_monastery.h"
+#include "SpellInfo.h"
enum Says
{
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
index 188739a934d..467b532163b 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
@@ -35,6 +35,7 @@ EndContentData */
#include "stratholme.h"
#include "Group.h"
#include "Player.h"
+#include "SpellInfo.h"
/*######
## go_gauntlet_gate (this is the _first_ of the gauntlet gates, two exist)
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
index 34548ec9116..95dde4f0ada 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
@@ -24,6 +24,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "sunwell_plateau.h"
+#include "SpellInfo.h"
enum Quotes
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
index 53696fbed7a..1239ca88d03 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
@@ -27,6 +27,7 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "sunwell_plateau.h"
#include "Player.h"
+#include "WorldSession.h"
enum Yells
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
index 6ce1bf7a414..d23ca834f86 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
@@ -25,6 +25,7 @@ SDComment: all sounds, black hole effect triggers to often (46228)
#include "ScriptedCreature.h"
#include "sunwell_plateau.h"
#include "Player.h"
+#include "SpellInfo.h"
// Muru & Entropius's spells
enum Spells
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
index a8afd19cd96..f7f279cf716 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
@@ -26,7 +26,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "zulaman.h"
-//#include "spell.h"
+#include "SpellInfo.h"
#define YELL_AGGRO "Get on your knees and bow to da fang and claw!"
#define SOUND_AGGRO 12020
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
index 8fb3dd55077..5aa74fbbe89 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
@@ -25,6 +25,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "zulaman.h"
+#include "SpellInfo.h"
//Speech
const char* YELL_TRANSFORM_TO_LYNX = "Let me introduce to you my new bruddahs: fang and claw!";
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
index c692e18e6ca..7273ca99c7c 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
@@ -27,6 +27,7 @@ EndScriptData */
#include "InstanceScript.h"
#include "zulaman.h"
#include "Player.h"
+#include "TemporarySummon.h"
#define MAX_ENCOUNTER 6
#define RAND_VENDOR 2
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
index 2c9b838a2ed..61c7bda00ac 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
@@ -32,6 +32,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "zulaman.h"
#include "Player.h"
+#include "SpellInfo.h"
/*######
## npc_forest_frog
diff --git a/src/server/scripts/EasternKingdoms/eastern_plaguelands.cpp b/src/server/scripts/EasternKingdoms/eastern_plaguelands.cpp
index c5dcbaba01d..c9b60f847e8 100644
--- a/src/server/scripts/EasternKingdoms/eastern_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/eastern_plaguelands.cpp
@@ -34,6 +34,7 @@ EndContentData */
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Player.h"
+#include "WorldSession.h"
class mobs_ghoul_flayer : public CreatureScript
{
diff --git a/src/server/scripts/EasternKingdoms/ghostlands.cpp b/src/server/scripts/EasternKingdoms/ghostlands.cpp
index 6a7544b5393..5d97735ab5d 100644
--- a/src/server/scripts/EasternKingdoms/ghostlands.cpp
+++ b/src/server/scripts/EasternKingdoms/ghostlands.cpp
@@ -35,6 +35,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## npc_budd_nedreck
diff --git a/src/server/scripts/EasternKingdoms/isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/isle_of_queldanas.cpp
index ca5385caffe..c3a725f2f45 100644
--- a/src/server/scripts/EasternKingdoms/isle_of_queldanas.cpp
+++ b/src/server/scripts/EasternKingdoms/isle_of_queldanas.cpp
@@ -31,6 +31,8 @@ EndContentData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "Player.h"
+#include "Pet.h"
+#include "SpellInfo.h"
/*######
## npc_converted_sentry
diff --git a/src/server/scripts/EasternKingdoms/silvermoon_city.cpp b/src/server/scripts/EasternKingdoms/silvermoon_city.cpp
index e56a1e72294..28af25d39de 100644
--- a/src/server/scripts/EasternKingdoms/silvermoon_city.cpp
+++ b/src/server/scripts/EasternKingdoms/silvermoon_city.cpp
@@ -30,6 +30,7 @@ EndContentData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "Player.h"
+#include "SpellInfo.h"
/*#######
# npc_blood_knight_stillblade
diff --git a/src/server/scripts/EasternKingdoms/stranglethorn_vale.cpp b/src/server/scripts/EasternKingdoms/stranglethorn_vale.cpp
index 26e0dffb5af..2217eba7d1b 100644
--- a/src/server/scripts/EasternKingdoms/stranglethorn_vale.cpp
+++ b/src/server/scripts/EasternKingdoms/stranglethorn_vale.cpp
@@ -30,6 +30,7 @@ EndContentData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "Player.h"
+#include "SpellInfo.h"
/*######
## mob_yenniku
diff --git a/src/server/scripts/EasternKingdoms/western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/western_plaguelands.cpp
index 285e5bb4e17..1c2f2624b34 100644
--- a/src/server/scripts/EasternKingdoms/western_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/western_plaguelands.cpp
@@ -35,6 +35,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## npcs_dithers_and_arbington
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
index 1fe3ac60260..df180bf5568 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
@@ -28,6 +28,8 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "hyjal_trash.h"
#include "Player.h"
+#include "WorldPacket.h"
+#include "Opcodes.h"
enum Misc
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
index 22ae808e348..365c5dd7300 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -22,6 +22,7 @@
#include "ScriptedEscortAI.h"
#include "PassiveAI.h"
#include "Player.h"
+#include "SpellInfo.h"
enum Says
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
index 0ec7d1bdd25..0467109effc 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
@@ -20,6 +20,8 @@
#include "CreatureTextMgr.h"
#include "culling_of_stratholme.h"
#include "Player.h"
+#include "TemporarySummon.h"
+#include "SpellInfo.h"
#define MAX_ENCOUNTER 5
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
index 8fa6c239858..8ca14d72b94 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
@@ -34,6 +34,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "dark_portal.h"
#include "Player.h"
+#include "SpellInfo.h"
#define SAY_ENTER -1269020 //where does this belong?
#define SAY_INTRO -1269021
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp
index 879b0ed4aee..b7820bae920 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp
@@ -27,6 +27,8 @@ EndScriptData */
#include "InstanceScript.h"
#include "dark_portal.h"
#include "Player.h"
+#include "TemporarySummon.h"
+#include "SpellInfo.h"
#define MAX_ENCOUNTER 2
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
index 22ec68eba5e..adcec659fa3 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
@@ -29,6 +29,7 @@ EndScriptData */
#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
#include "onyxias_lair.h"
+#include "TemporarySummon.h"
class instance_onyxias_lair : public InstanceMapScript
{
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
index 3acf9bc7029..f7161638909 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
@@ -19,6 +19,7 @@
#include "InstanceScript.h"
#include "razorfen_downs.h"
#include "Player.h"
+#include "TemporarySummon.h"
#define MAX_ENCOUNTER 1
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
index c43d46c4789..2bbdaa389ad 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
@@ -19,6 +19,9 @@
#include "ScriptedCreature.h"
#include "ruins_of_ahnqiraj.h"
#include "Player.h"
+#include "SpellInfo.h"
+#include "WorldPacket.h"
+#include "Opcodes.h"
enum Texts
{
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
index 2706b638573..4cdddb2d9da 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
@@ -19,6 +19,7 @@
#include "InstanceScript.h"
#include "zulfarrak.h"
#include "Player.h"
+#include "TemporarySummon.h"
#define NPC_GAHZRILLA 7273
#define PATH_ADDS 81553
diff --git a/src/server/scripts/Kalimdor/azshara.cpp b/src/server/scripts/Kalimdor/azshara.cpp
index cf4bb38d559..c8eb5daef68 100644
--- a/src/server/scripts/Kalimdor/azshara.cpp
+++ b/src/server/scripts/Kalimdor/azshara.cpp
@@ -34,6 +34,8 @@ EndContentData */
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Player.h"
+#include "SpellInfo.h"
+#include "WorldSession.h"
/*######
## mobs_spitelashes
diff --git a/src/server/scripts/Kalimdor/darkshore.cpp b/src/server/scripts/Kalimdor/darkshore.cpp
index 4b8329cfaa6..5d10076c114 100644
--- a/src/server/scripts/Kalimdor/darkshore.cpp
+++ b/src/server/scripts/Kalimdor/darkshore.cpp
@@ -35,6 +35,7 @@ EndContentData */
#include "ScriptedEscortAI.h"
#include "ScriptedFollowerAI.h"
#include "Player.h"
+#include "SpellInfo.h"
/*####
# npc_kerlonian
diff --git a/src/server/scripts/Kalimdor/desolace.cpp b/src/server/scripts/Kalimdor/desolace.cpp
index d34c72226b2..30a87ef0197 100644
--- a/src/server/scripts/Kalimdor/desolace.cpp
+++ b/src/server/scripts/Kalimdor/desolace.cpp
@@ -35,6 +35,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "SpellInfo.h"
enum DyingKodo
{
diff --git a/src/server/scripts/Kalimdor/dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
index ef7a5a1d8f3..6ab9b653c5d 100644
--- a/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
@@ -37,6 +37,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "SpellScript.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## mobs_risen_husk_spirit
diff --git a/src/server/scripts/Kalimdor/feralas.cpp b/src/server/scripts/Kalimdor/feralas.cpp
index db2a125bc71..df4345b3aae 100644
--- a/src/server/scripts/Kalimdor/feralas.cpp
+++ b/src/server/scripts/Kalimdor/feralas.cpp
@@ -29,6 +29,7 @@ EndScriptData */
#include "ScriptedGossip.h"
#include "SpellScript.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## npc_gregan_brewspewer
diff --git a/src/server/scripts/Kalimdor/moonglade.cpp b/src/server/scripts/Kalimdor/moonglade.cpp
index 8a24828bcc3..6d93e074e79 100644
--- a/src/server/scripts/Kalimdor/moonglade.cpp
+++ b/src/server/scripts/Kalimdor/moonglade.cpp
@@ -36,6 +36,7 @@ EndContentData */
#include "ScriptedEscortAI.h"
#include "ScriptedGossip.h"
#include "Player.h"
+#include "SpellInfo.h"
/*######
## npc_bunthen_plainswind
diff --git a/src/server/scripts/Kalimdor/mulgore.cpp b/src/server/scripts/Kalimdor/mulgore.cpp
index 0aa1f55fa32..8ed26b8cf38 100644
--- a/src/server/scripts/Kalimdor/mulgore.cpp
+++ b/src/server/scripts/Kalimdor/mulgore.cpp
@@ -33,6 +33,7 @@ EndContentData */
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Player.h"
+#include "SpellInfo.h"
/*######
# npc_skorn_whitecloud
diff --git a/src/server/scripts/Kalimdor/tanaris.cpp b/src/server/scripts/Kalimdor/tanaris.cpp
index 8e6f8d57165..7341ccb1e2c 100644
--- a/src/server/scripts/Kalimdor/tanaris.cpp
+++ b/src/server/scripts/Kalimdor/tanaris.cpp
@@ -39,6 +39,7 @@ EndContentData */
#include "ScriptedEscortAI.h"
#include "ScriptedFollowerAI.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## mob_aquementas
diff --git a/src/server/scripts/Kalimdor/the_barrens.cpp b/src/server/scripts/Kalimdor/the_barrens.cpp
index 228d1fc360a..8a24f696a23 100644
--- a/src/server/scripts/Kalimdor/the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/the_barrens.cpp
@@ -37,6 +37,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "SpellInfo.h"
/*######
## npc_beaten_corpse
diff --git a/src/server/scripts/Kalimdor/ungoro_crater.cpp b/src/server/scripts/Kalimdor/ungoro_crater.cpp
index 3da23bea489..e00ea566c8f 100644
--- a/src/server/scripts/Kalimdor/ungoro_crater.cpp
+++ b/src/server/scripts/Kalimdor/ungoro_crater.cpp
@@ -33,6 +33,7 @@ EndContentData */
#include "ScriptedEscortAI.h"
#include "ScriptedFollowerAI.h"
#include "Player.h"
+#include "SpellInfo.h"
enum AmeData
{
diff --git a/src/server/scripts/Kalimdor/winterspring.cpp b/src/server/scripts/Kalimdor/winterspring.cpp
index 483ee472721..73b8bfe9af1 100644
--- a/src/server/scripts/Kalimdor/winterspring.cpp
+++ b/src/server/scripts/Kalimdor/winterspring.cpp
@@ -31,6 +31,7 @@ EndContentData */
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## npc_rivern_frostwind
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
index ff05d6c62d7..b4756a33b38 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
@@ -23,6 +23,7 @@
#include "ScriptedCreature.h"
#include "ahnkahet.h"
#include "Player.h"
+#include "SpellInfo.h"
enum Spells
{
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
index 059f8c606a0..939c22325d7 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
@@ -19,6 +19,8 @@
#include "InstanceScript.h"
#include "ruby_sanctum.h"
#include "Player.h"
+#include "TemporarySummon.h"
+#include "WorldPacket.h"
DoorData const doorData[] =
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
index 917ad206b77..6623d8e8765 100755
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
@@ -20,6 +20,7 @@
#include "InstanceScript.h"
#include "trial_of_the_crusader.h"
#include "Player.h"
+#include "TemporarySummon.h"
class instance_trial_of_the_crusader : public InstanceMapScript
{
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
index e0d3cc5dd4c..714e5df6444 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
@@ -19,6 +19,7 @@
#include "ScriptedCreature.h"
#include "forge_of_souls.h"
#include "Player.h"
+#include "SpellInfo.h"
/*
* TODO:
diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
index 446c26c9567..3724aaf69e2 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
@@ -22,6 +22,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "gundrak.h"
+#include "SpellInfo.h"
enum Spells
{
diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
index 2a89a73dbb2..b8b9c2e9053 100644
--- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
+++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
@@ -19,6 +19,7 @@
#include "InstanceScript.h"
#include "gundrak.h"
#include "Player.h"
+#include "TemporarySummon.h"
#define MAX_ENCOUNTER 5
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index 3be76715f6c..89d7b0f764d 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -24,6 +24,8 @@
#include "AccountMgr.h"
#include "icecrown_citadel.h"
#include "Player.h"
+#include "WorldPacket.h"
+#include "WorldSession.h"
enum EventIds
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
index 3c6e4b50d24..a75f87e91af 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
@@ -18,6 +18,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "naxxramas.h"
+#include "SpellInfo.h"
enum Yells
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
index 5a55a4f1c4b..7ed9e950b53 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
@@ -18,6 +18,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "naxxramas.h"
+#include "SpellInfo.h"
#define SPELL_BOMBARD_SLIME 28280
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
index ad31ed5e21d..5a8f004788d 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
@@ -19,6 +19,7 @@
#include "ScriptedCreature.h"
#include "naxxramas.h"
#include "Player.h"
+#include "SpellInfo.h"
#define EMOTE_BREATH -1533082
#define EMOTE_ENRAGE -1533083
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
index 179dedb290b..51e476785ff 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
@@ -25,6 +25,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "oculus.h"
+#include "SpellInfo.h"
enum Spells
{
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
index d964f619a6e..6f54ce50a94 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
@@ -23,6 +23,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "halls_of_lightning.h"
+#include "SpellInfo.h"
enum Spells
{
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
index c8ce409213f..33e6e2846e4 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
@@ -27,6 +27,7 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "halls_of_lightning.h"
#include "Player.h"
+#include "SpellInfo.h"
enum eEnums
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
index 76aaf61f94d..30f60da178a 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
@@ -30,6 +30,8 @@
#include "ulduar.h"
#include "Vehicle.h"
#include "Player.h"
+#include "WorldPacket.h"
+#include "Opcodes.h"
enum Spells
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index f1bfddcbd87..7d3b943f7b0 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -20,6 +20,7 @@
#include "InstanceScript.h"
#include "ulduar.h"
#include "Player.h"
+#include "WorldPacket.h"
static DoorData const doorData[] =
{
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
index 1635aaac918..63898e57c08 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
@@ -29,6 +29,7 @@ Script Data End */
#include "ScriptedCreature.h"
#include "utgarde_pinnacle.h"
#include "Player.h"
+#include "SpellInfo.h"
//Yell
enum eYells
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
index 3d0df453c0c..0278125deb3 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
@@ -26,6 +26,7 @@ Script Data End */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "utgarde_pinnacle.h"
+#include "SpellInfo.h"
enum Spells
{
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index 9f74cf0e5ca..5e3bbc01025 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -19,6 +19,7 @@
#include "InstanceScript.h"
#include "violet_hold.h"
#include "Player.h"
+#include "TemporarySummon.h"
#define MAX_ENCOUNTER 3
diff --git a/src/server/scripts/Northrend/borean_tundra.cpp b/src/server/scripts/Northrend/borean_tundra.cpp
index 2a83a03caff..6eed82991b8 100644
--- a/src/server/scripts/Northrend/borean_tundra.cpp
+++ b/src/server/scripts/Northrend/borean_tundra.cpp
@@ -43,6 +43,8 @@ EndContentData */
#include "ScriptedEscortAI.h"
#include "ScriptedFollowerAI.h"
#include "Player.h"
+#include "SpellInfo.h"
+#include "WorldSession.h"
/*######
## npc_sinkhole_kill_credit
diff --git a/src/server/scripts/Northrend/dalaran.cpp b/src/server/scripts/Northrend/dalaran.cpp
index 371ac897e4e..b662442ef93 100644
--- a/src/server/scripts/Northrend/dalaran.cpp
+++ b/src/server/scripts/Northrend/dalaran.cpp
@@ -27,6 +27,7 @@ Script Data End */
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Player.h"
+#include "WorldSession.h"
/*******************************************************
* npc_mageguard_dalaran
diff --git a/src/server/scripts/Northrend/grizzly_hills.cpp b/src/server/scripts/Northrend/grizzly_hills.cpp
index 400fe58d4c4..0363e0c892d 100644
--- a/src/server/scripts/Northrend/grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/grizzly_hills.cpp
@@ -20,6 +20,7 @@
#include "ScriptedCreature.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "SpellInfo.h"
/*######
## Quest 12027: Mr. Floppy's Perilous Adventure
diff --git a/src/server/scripts/Northrend/storm_peaks.cpp b/src/server/scripts/Northrend/storm_peaks.cpp
index 7cd87be8370..b3a379d903d 100644
--- a/src/server/scripts/Northrend/storm_peaks.cpp
+++ b/src/server/scripts/Northrend/storm_peaks.cpp
@@ -24,6 +24,7 @@
#include "Vehicle.h"
#include "CombatAI.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## npc_agnetta_tyrsdottar
diff --git a/src/server/scripts/Northrend/zuldrak.cpp b/src/server/scripts/Northrend/zuldrak.cpp
index 7acdcae8a77..e5763e5baf6 100644
--- a/src/server/scripts/Northrend/zuldrak.cpp
+++ b/src/server/scripts/Northrend/zuldrak.cpp
@@ -20,6 +20,7 @@
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "SpellInfo.h"
/*####
## npc_drakuru_shackles
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
index c70e4168826..9411bd8a363 100755
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
@@ -23,6 +23,7 @@
#include "MapManager.h"
#include "ObjectMgr.h"
#include "OutdoorPvPMgr.h"
+#include "ReputationMgr.h"
#include "Language.h"
#include "World.h"
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
index 0f3bcce6493..1503c9f7234 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
@@ -26,6 +26,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "shadow_labyrinth.h"
+#include "SpellInfo.h"
#define EMOTE_SONIC_BOOM -1555036
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index 18145df7302..1029648561f 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -29,6 +29,7 @@ EndScriptData */
#include "PassiveAI.h"
#include "black_temple.h"
#include "Player.h"
+#include "SpellInfo.h"
#define GETGO(obj, guid) GameObject* obj = instance->instance->GetGameObject(guid)
#define GETUNIT(unit, guid) Unit* unit = Unit::GetUnit(*me, guid)
diff --git a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
index 10f787bee88..9924bf1ffab 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
@@ -27,6 +27,7 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "black_temple.h"
#include "Player.h"
+#include "SpellInfo.h"
enum eEnums
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
index ffb4ed3aa12..a934d03349c 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
@@ -28,6 +28,7 @@ EndScriptData */
#include "serpent_shrine.h"
#include "Spell.h"
#include "Player.h"
+#include "WorldSession.h"
#define SAY_INTRO -1548042
#define SAY_AGGRO1 -1548043
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
index f280ad77b42..4af38888758 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
@@ -27,6 +27,7 @@ EndScriptData */
#include "InstanceScript.h"
#include "serpent_shrine.h"
#include "Player.h"
+#include "TemporarySummon.h"
#define MAX_ENCOUNTER 6
#define SPELL_SCALDINGWATER 37284
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
index d81a021c4bc..ac730292545 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
@@ -26,6 +26,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "steam_vault.h"
+#include "SpellInfo.h"
#define SAY_INTRO -1545016
#define SAY_REGEN -1545017
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
index 3bb0858d2be..f0c4330c9a3 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
@@ -25,6 +25,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "SpellInfo.h"
enum eSpells
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
index ebe30166902..94272e4a50f 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
@@ -27,6 +27,7 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "magtheridons_lair.h"
#include "Player.h"
+#include "SpellInfo.h"
struct Yell
{
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
index 3770ac3ba09..a8be934c710 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
@@ -26,6 +26,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "the_eye.h"
+#include "SpellInfo.h"
enum eSpells
{
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
index 2008a1bc640..2dbfb7b46c5 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
@@ -27,6 +27,7 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "the_eye.h"
#include "WorldPacket.h"
+#include "Opcodes.h"
enum eEnums
{
diff --git a/src/server/scripts/Outland/hellfire_peninsula.cpp b/src/server/scripts/Outland/hellfire_peninsula.cpp
index 4c0ed3c1d4e..4da98281eb2 100644
--- a/src/server/scripts/Outland/hellfire_peninsula.cpp
+++ b/src/server/scripts/Outland/hellfire_peninsula.cpp
@@ -38,6 +38,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## npc_aeranas
diff --git a/src/server/scripts/Outland/nagrand.cpp b/src/server/scripts/Outland/nagrand.cpp
index 13adf9182a3..0c9a60603f5 100644
--- a/src/server/scripts/Outland/nagrand.cpp
+++ b/src/server/scripts/Outland/nagrand.cpp
@@ -33,6 +33,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "SpellInfo.h"
/*######
## npc_greatmother_geyah
diff --git a/src/server/scripts/Outland/shadowmoon_valley.cpp b/src/server/scripts/Outland/shadowmoon_valley.cpp
index 5ec017d88b0..dc91fb2c14f 100644
--- a/src/server/scripts/Outland/shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/shadowmoon_valley.cpp
@@ -47,6 +47,7 @@ EndContentData */
#include "Group.h"
#include "SpellScript.h"
#include "Player.h"
+#include "WorldSession.h"
/*#####
# mob_mature_netherwing_drake
diff --git a/src/server/scripts/Outland/shattrath_city.cpp b/src/server/scripts/Outland/shattrath_city.cpp
index e9264233621..76cffa9e1fe 100644
--- a/src/server/scripts/Outland/shattrath_city.cpp
+++ b/src/server/scripts/Outland/shattrath_city.cpp
@@ -39,6 +39,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## npc_raliq_the_drunk
diff --git a/src/server/scripts/Outland/terokkar_forest.cpp b/src/server/scripts/Outland/terokkar_forest.cpp
index 0963ac63556..2298f676692 100644
--- a/src/server/scripts/Outland/terokkar_forest.cpp
+++ b/src/server/scripts/Outland/terokkar_forest.cpp
@@ -39,6 +39,7 @@ EndContentData */
#include "ScriptedEscortAI.h"
#include "Group.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## mob_unkor_the_ruthless
diff --git a/src/server/scripts/Outland/zangarmarsh.cpp b/src/server/scripts/Outland/zangarmarsh.cpp
index 0d38a49e11d..03e40b8d7dc 100644
--- a/src/server/scripts/Outland/zangarmarsh.cpp
+++ b/src/server/scripts/Outland/zangarmarsh.cpp
@@ -37,6 +37,7 @@ EndContentData */
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## npcs_ashyen_and_keleth
diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp
index 665acbe86c8..178df2078f8 100755
--- a/src/server/scripts/World/achievement_scripts.cpp
+++ b/src/server/scripts/World/achievement_scripts.cpp
@@ -24,6 +24,7 @@
#include "BattlegroundAV.h"
#include "Vehicle.h"
#include "Player.h"
+#include "Creature.h"
class achievement_resilient_victory : public AchievementCriteriaScript
{
diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp
index 4abb06198ba..dac67b566e3 100644
--- a/src/server/scripts/World/go_scripts.cpp
+++ b/src/server/scripts/World/go_scripts.cpp
@@ -56,6 +56,7 @@ EndContentData */
#include "GameObjectAI.h"
#include "Spell.h"
#include "Player.h"
+#include "WorldSession.h"
/*######
## go_cat_figurine
diff --git a/src/server/scripts/World/guards.cpp b/src/server/scripts/World/guards.cpp
index 5ca3984f92a..951c0ed9688 100644
--- a/src/server/scripts/World/guards.cpp
+++ b/src/server/scripts/World/guards.cpp
@@ -33,6 +33,7 @@ EndContentData */
#include "ScriptedCreature.h"
#include "GuardAI.h"
#include "Player.h"
+#include "SpellInfo.h"
enum GuardGeneric
{
diff --git a/src/server/scripts/World/npc_innkeeper.cpp b/src/server/scripts/World/npc_innkeeper.cpp
index e02e67e97f6..502ecb1acb2 100644
--- a/src/server/scripts/World/npc_innkeeper.cpp
+++ b/src/server/scripts/World/npc_innkeeper.cpp
@@ -28,6 +28,7 @@ EndScriptData */
#include "ScriptedGossip.h"
#include "GameEventMgr.h"
#include "Player.h"
+#include "WorldSession.h"
#define HALLOWEEN_EVENTID 12
#define SPELL_TRICK_OR_TREATED 24755
diff --git a/src/server/scripts/World/npc_professions.cpp b/src/server/scripts/World/npc_professions.cpp
index 69111b3b058..4e0818c7c82 100644
--- a/src/server/scripts/World/npc_professions.cpp
+++ b/src/server/scripts/World/npc_professions.cpp
@@ -27,6 +27,8 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Player.h"
+#include "SpellInfo.h"
+#include "WorldSession.h"
/*
A few notes for future developement:
diff --git a/src/server/scripts/World/npc_taxi.cpp b/src/server/scripts/World/npc_taxi.cpp
index 5414d896dd0..4ed5b0d9276 100644
--- a/src/server/scripts/World/npc_taxi.cpp
+++ b/src/server/scripts/World/npc_taxi.cpp
@@ -28,6 +28,7 @@ EndScriptData
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Player.h"
+#include "WorldSession.h"
#define GOSSIP_SUSURRUS "I am ready."
#define GOSSIP_NETHER_DRAKE "I'm ready to fly! Take me up, dragon!"
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index 1d7154376a7..b38530b2a4a 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -58,6 +58,7 @@ EndContentData */
#include "Cell.h"
#include "CellImpl.h"
#include "SpellAuras.h"
+#include "Pet.h"
/*########
# npc_air_force_bots