aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp3
-rw-r--r--src/server/game/Achievements/AchievementMgr.h10
-rw-r--r--src/server/game/Achievements/CriteriaHandler.cpp2
-rw-r--r--src/server/game/Achievements/CriteriaHandler.h13
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.h5
-rw-r--r--src/server/game/Chat/Channels/ChannelMgr.h5
-rw-r--r--src/server/game/Chat/Chat.cpp5
-rw-r--r--src/server/game/Chat/Chat.h2
-rw-r--r--src/server/game/Chat/LanguageMgr.h5
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.h5
-rw-r--r--src/server/game/Entities/Item/Item.cpp3
-rw-r--r--src/server/game/Entities/Item/Item.h1
-rw-r--r--src/server/game/Entities/Object/Object.h2
-rw-r--r--src/server/game/Entities/Vehicle/Vehicle.h5
-rw-r--r--src/server/game/Instances/InstanceSaveMgr.h5
-rw-r--r--src/server/game/Instances/InstanceScript.cpp4
-rw-r--r--src/server/game/Instances/InstanceScript.h2
-rw-r--r--src/server/game/Maps/MapInstanced.cpp2
-rw-r--r--src/server/game/Maps/MapInstanced.h9
-rw-r--r--src/server/game/Maps/ZoneScript.cpp8
-rw-r--r--src/server/game/Maps/ZoneScript.h9
-rw-r--r--src/server/game/Movement/PathGenerator.h5
-rw-r--r--src/server/game/Movement/Spline/Spline.cpp6
-rw-r--r--src/server/game/Movement/Spline/Spline.h7
-rw-r--r--src/server/game/OutdoorPvP/OutdoorPvP.h5
-rw-r--r--src/server/game/Phasing/PhaseShift.cpp7
-rw-r--r--src/server/game/Phasing/PhaseShift.h7
-rw-r--r--src/server/game/Pools/PoolMgr.cpp14
-rw-r--r--src/server/game/Pools/PoolMgr.h25
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp88
-rw-r--r--src/server/game/Scripting/ScriptMgr.h94
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.h6
-rw-r--r--src/server/game/Spells/SpellHistory.cpp6
-rw-r--r--src/server/game/Spells/SpellHistory.h9
-rw-r--r--src/server/game/Spells/SpellInfo.cpp22
-rw-r--r--src/server/game/Spells/SpellInfo.h32
-rw-r--r--src/server/game/Spells/SpellMgr.h5
-rw-r--r--src/server/game/Spells/SpellScript.cpp226
-rw-r--r--src/server/game/Spells/SpellScript.h174
-rw-r--r--src/server/game/Texts/CreatureTextMgr.cpp3
-rw-r--r--src/server/game/Texts/CreatureTextMgr.h10
-rw-r--r--src/server/shared/Dynamic/LinkedList.h4
42 files changed, 758 insertions, 102 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index 68d84b2d9e8..96cbb774c9a 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -1047,6 +1047,9 @@ CriteriaList const& GuildAchievementMgr::GetCriteriaByType(CriteriaType type, ui
return sCriteriaMgr->GetGuildCriteriaByType(type);
}
+AchievementGlobalMgr::AchievementGlobalMgr() = default;
+AchievementGlobalMgr::~AchievementGlobalMgr() = default;
+
std::string PlayerAchievementMgr::GetOwnerInfo() const
{
return Trinity::StringFormat("%s %s", _owner->GetGUID().ToString().c_str(), _owner->GetName().c_str());
diff --git a/src/server/game/Achievements/AchievementMgr.h b/src/server/game/Achievements/AchievementMgr.h
index f18194c0eee..fc52eeb31cb 100644
--- a/src/server/game/Achievements/AchievementMgr.h
+++ b/src/server/game/Achievements/AchievementMgr.h
@@ -146,10 +146,16 @@ private:
class TC_GAME_API AchievementGlobalMgr
{
- AchievementGlobalMgr() { }
- ~AchievementGlobalMgr() { }
+ AchievementGlobalMgr();
+ ~AchievementGlobalMgr();
public:
+ AchievementGlobalMgr(AchievementGlobalMgr const&) = delete;
+ AchievementGlobalMgr(AchievementGlobalMgr&&) = delete;
+
+ AchievementGlobalMgr& operator=(AchievementGlobalMgr const&) = delete;
+ AchievementGlobalMgr& operator=(AchievementGlobalMgr&&) = delete;
+
static AchievementGlobalMgr* Instance();
std::vector<AchievementEntry const*> const* GetAchievementByReferencedId(uint32 id) const;
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp
index 166a2c9270c..3e7fd809565 100644
--- a/src/server/game/Achievements/CriteriaHandler.cpp
+++ b/src/server/game/Achievements/CriteriaHandler.cpp
@@ -4297,6 +4297,8 @@ CriteriaList const& CriteriaMgr::GetPlayerCriteriaByType(CriteriaType type, uint
return _criteriasByType[size_t(type)];
}
+CriteriaMgr::CriteriaMgr() = default;
+
//==========================================================
CriteriaMgr::~CriteriaMgr()
{
diff --git a/src/server/game/Achievements/CriteriaHandler.h b/src/server/game/Achievements/CriteriaHandler.h
index 51a962a6dcb..3e84bf0de6c 100644
--- a/src/server/game/Achievements/CriteriaHandler.h
+++ b/src/server/game/Achievements/CriteriaHandler.h
@@ -19,7 +19,6 @@
#define CriteriaHandler_h__
#include "Common.h"
-#include "DatabaseEnvFwd.h"
#include "DBCEnums.h"
#include "Duration.h"
#include "ObjectGuid.h"
@@ -269,6 +268,11 @@ public:
CriteriaHandler();
virtual ~CriteriaHandler();
+ CriteriaHandler(CriteriaHandler const& right) = delete;
+ CriteriaHandler(CriteriaHandler&& right) = delete;
+ CriteriaHandler& operator=(CriteriaHandler const& right) = delete;
+ CriteriaHandler& operator=(CriteriaHandler&& right) = delete;
+
virtual void Reset();
void UpdateCriteria(CriteriaType type, uint64 miscValue1 = 0, uint64 miscValue2 = 0, uint64 miscValue3 = 0, WorldObject const* ref = nullptr, Player* referencePlayer = nullptr);
@@ -313,10 +317,15 @@ protected:
class TC_GAME_API CriteriaMgr
{
- CriteriaMgr() { }
+ CriteriaMgr();
~CriteriaMgr();
public:
+ CriteriaMgr(CriteriaMgr const& right) = delete;
+ CriteriaMgr(CriteriaMgr&& right) = delete;
+ CriteriaMgr& operator=(CriteriaMgr const& right) = delete;
+ CriteriaMgr& operator=(CriteriaMgr&& right) = delete;
+
static char const* GetCriteriaTypeString(CriteriaType type);
static char const* GetCriteriaTypeString(uint32 type);
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.h b/src/server/game/Battlegrounds/BattlegroundMgr.h
index 7653ddd5ba1..76ec8832ee9 100644
--- a/src/server/game/Battlegrounds/BattlegroundMgr.h
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.h
@@ -79,6 +79,11 @@ class TC_GAME_API BattlegroundMgr
~BattlegroundMgr();
public:
+ BattlegroundMgr(BattlegroundMgr const& right) = delete;
+ BattlegroundMgr(BattlegroundMgr&& right) = delete;
+ BattlegroundMgr& operator=(BattlegroundMgr const& right) = delete;
+ BattlegroundMgr& operator=(BattlegroundMgr&& right) = delete;
+
static BattlegroundMgr* instance();
void Update(uint32 diff);
diff --git a/src/server/game/Chat/Channels/ChannelMgr.h b/src/server/game/Chat/Channels/ChannelMgr.h
index b389cc718ae..f8efb4cbb21 100644
--- a/src/server/game/Chat/Channels/ChannelMgr.h
+++ b/src/server/game/Chat/Channels/ChannelMgr.h
@@ -36,6 +36,11 @@ class TC_GAME_API ChannelMgr
~ChannelMgr();
public:
+ ChannelMgr(ChannelMgr const& right) = delete;
+ ChannelMgr(ChannelMgr&& right) = delete;
+ ChannelMgr& operator=(ChannelMgr const& right) = delete;
+ ChannelMgr& operator=(ChannelMgr&& right) = delete;
+
static void LoadFromDB();
static ChannelMgr* ForTeam(uint32 team);
static Channel* GetChannelForPlayerByNamePart(std::string const& namePart, Player* playerSearcher);
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp
index 1a219ba9085..708178e9ab6 100644
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -990,6 +990,11 @@ LocaleConstant ChatHandler::GetSessionDbLocaleIndex() const
return m_session->GetSessionDbLocaleIndex();
}
+std::string ChatHandler::playerLink(std::string const& name) const
+{
+ return m_session ? "|cffffffff|Hplayer:" + name + "|h[" + name + "]|h|r" : name;
+}
+
std::string ChatHandler::GetNameLink(Player* chr) const
{
return playerLink(chr->GetName());
diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h
index 46db7e56246..edb5858ac7c 100644
--- a/src/server/game/Chat/Chat.h
+++ b/src/server/game/Chat/Chat.h
@@ -111,7 +111,7 @@ class TC_GAME_API ChatHandler
// select by arg (name/link) or in-game selection online/offline player or self if a creature is selected
bool extractPlayerTarget(char* args, Player** player, ObjectGuid* player_guid = nullptr, std::string* player_name = nullptr);
- std::string playerLink(std::string const& name) const { return m_session ? "|cffffffff|Hplayer:"+name+"|h["+name+"]|h|r" : name; }
+ std::string playerLink(std::string const& name) const;
std::string GetNameLink(Player* chr) const;
GameObject* GetNearbyGameObject();
diff --git a/src/server/game/Chat/LanguageMgr.h b/src/server/game/Chat/LanguageMgr.h
index 7d1d4df123e..fda88cb2972 100644
--- a/src/server/game/Chat/LanguageMgr.h
+++ b/src/server/game/Chat/LanguageMgr.h
@@ -56,6 +56,11 @@ class TC_GAME_API LanguageMgr
// Accessors (const or static functions)
public:
+ LanguageMgr(LanguageMgr const& right) = delete;
+ LanguageMgr(LanguageMgr&& right) = delete;
+ LanguageMgr& operator=(LanguageMgr const& right) = delete;
+ LanguageMgr& operator=(LanguageMgr&& right) = delete;
+
static LanguageMgr* instance();
//
diff --git a/src/server/game/DungeonFinding/LFGMgr.h b/src/server/game/DungeonFinding/LFGMgr.h
index 72160b20f34..e9fd1a2299a 100644
--- a/src/server/game/DungeonFinding/LFGMgr.h
+++ b/src/server/game/DungeonFinding/LFGMgr.h
@@ -316,6 +316,11 @@ class TC_GAME_API LFGMgr
~LFGMgr();
public:
+ LFGMgr(LFGMgr const& right) = delete;
+ LFGMgr(LFGMgr&& right) = delete;
+ LFGMgr& operator=(LFGMgr const& right) = delete;
+ LFGMgr& operator=(LFGMgr&& right) = delete;
+
static LFGMgr* instance();
// Functions used outside lfg namespace
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index 6c04eb0fddd..d7230766af5 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -454,10 +454,13 @@ Item::Item()
m_paidExtendedCost = 0;
m_randomBonusListId = 0;
+ m_gemScalingLevels = { };
memset(&_bonusData, 0, sizeof(_bonusData));
}
+Item::~Item() = default;
+
bool Item::Create(ObjectGuid::LowType guidlow, uint32 itemId, ItemContext context, Player const* owner)
{
Object::_Create(ObjectGuid::Create<HighGuid::Item>(guidlow));
diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h
index f33b1f00a75..74535c615a8 100644
--- a/src/server/game/Entities/Item/Item.h
+++ b/src/server/game/Entities/Item/Item.h
@@ -176,6 +176,7 @@ class TC_GAME_API Item : public Object
Item* CloneItem(uint32 count, Player const* player = nullptr) const;
Item();
+ ~Item();
virtual bool Create(ObjectGuid::LowType guidlow, uint32 itemId, ItemContext context, Player const* owner);
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index 68b2d5c7c0e..7bdd6b1d867 100644
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -398,7 +398,9 @@ class TC_GAME_API Object
bool m_isDestroyedObject;
Object(Object const& right) = delete;
+ Object(Object&& right) = delete;
Object& operator=(Object const& right) = delete;
+ Object& operator=(Object&& right) = delete;
};
template<class T>
diff --git a/src/server/game/Entities/Vehicle/Vehicle.h b/src/server/game/Entities/Vehicle/Vehicle.h
index eb377a350e6..4defa1881c3 100644
--- a/src/server/game/Entities/Vehicle/Vehicle.h
+++ b/src/server/game/Entities/Vehicle/Vehicle.h
@@ -38,6 +38,11 @@ class TC_GAME_API Vehicle : public TransportBase
~Vehicle();
public:
+ Vehicle(Vehicle const& right) = delete;
+ Vehicle(Vehicle&& right) = delete;
+ Vehicle& operator=(Vehicle const& right) = delete;
+ Vehicle& operator=(Vehicle&& right) = delete;
+
void Install();
void Uninstall();
void Reset(bool evading = false);
diff --git a/src/server/game/Instances/InstanceSaveMgr.h b/src/server/game/Instances/InstanceSaveMgr.h
index ad8160612c5..43c27d73cba 100644
--- a/src/server/game/Instances/InstanceSaveMgr.h
+++ b/src/server/game/Instances/InstanceSaveMgr.h
@@ -54,6 +54,11 @@ class TC_GAME_API InstanceSave
or when the instance is reset */
~InstanceSave();
+ InstanceSave(InstanceSave const& right) = delete;
+ InstanceSave(InstanceSave&& right) = delete;
+ InstanceSave& operator=(InstanceSave const& right) = delete;
+ InstanceSave& operator=(InstanceSave&& right) = delete;
+
uint32 GetPlayerCount() const { return uint32(m_playerList.size()); }
uint32 GetGroupCount() const { return uint32(m_groupList.size()); }
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp
index 39f705dbd24..6d94dc4cd1b 100644
--- a/src/server/game/Instances/InstanceScript.cpp
+++ b/src/server/game/Instances/InstanceScript.cpp
@@ -60,6 +60,10 @@ _entranceId(0), _temporaryEntranceId(0), _combatResurrectionTimer(0), _combatRes
#endif // #ifndef TRINITY_API_USE_DYNAMIC_LINKING
}
+InstanceScript::~InstanceScript()
+{
+}
+
void InstanceScript::SaveToDB()
{
if (InstanceScenario* scenario = instance->GetInstanceScenario())
diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h
index 47294cf43d0..f025a6b1b24 100644
--- a/src/server/game/Instances/InstanceScript.h
+++ b/src/server/game/Instances/InstanceScript.h
@@ -159,7 +159,7 @@ class TC_GAME_API InstanceScript : public ZoneScript
public:
explicit InstanceScript(InstanceMap* map);
- virtual ~InstanceScript() { }
+ virtual ~InstanceScript();
InstanceMap* instance;
diff --git a/src/server/game/Maps/MapInstanced.cpp b/src/server/game/Maps/MapInstanced.cpp
index 32aac9c1878..da3356911ad 100644
--- a/src/server/game/Maps/MapInstanced.cpp
+++ b/src/server/game/Maps/MapInstanced.cpp
@@ -35,6 +35,8 @@ MapInstanced::MapInstanced(uint32 id, time_t expiry) : Map(id, expiry, 0, DIFFIC
{
}
+MapInstanced::~MapInstanced() = default;
+
void MapInstanced::InitVisibilityDistance()
{
if (m_InstancedMaps.empty())
diff --git a/src/server/game/Maps/MapInstanced.h b/src/server/game/Maps/MapInstanced.h
index e6aaefe7c18..6b2b71ed37e 100644
--- a/src/server/game/Maps/MapInstanced.h
+++ b/src/server/game/Maps/MapInstanced.h
@@ -20,7 +20,6 @@
#include "Map.h"
#include "InstanceSaveMgr.h"
-#include "DBCEnums.h"
class GarrisonMap;
@@ -31,9 +30,13 @@ class TC_GAME_API MapInstanced : public Map
typedef std::unordered_map< uint32, Map*> InstancedMaps;
MapInstanced(uint32 id, time_t expiry);
- ~MapInstanced() { }
+ MapInstanced(MapInstanced const& right) = delete;
+ MapInstanced(MapInstanced&& right) = delete;
+ MapInstanced& operator=(MapInstanced const& right) = delete;
+ MapInstanced& operator=(MapInstanced&& right) = delete;
+ ~MapInstanced();
- // functions overwrite Map versions
+ // functions overwrite Map versions
void Update(uint32 diff) override;
void DelayedUpdate(uint32 diff) override;
//void RelocationNotify();
diff --git a/src/server/game/Maps/ZoneScript.cpp b/src/server/game/Maps/ZoneScript.cpp
index 5117eee7f7d..974a6c7661f 100644
--- a/src/server/game/Maps/ZoneScript.cpp
+++ b/src/server/game/Maps/ZoneScript.cpp
@@ -18,6 +18,14 @@
#include "ZoneScript.h"
#include "Creature.h"
+ZoneScript::ZoneScript()
+{
+}
+
+ZoneScript::~ZoneScript()
+{
+}
+
uint32 ZoneScript::GetCreatureEntry(ObjectGuid::LowType /*guidLow*/, CreatureData const* data)
{
return data->id;
diff --git a/src/server/game/Maps/ZoneScript.h b/src/server/game/Maps/ZoneScript.h
index ad308f7122d..8d3bb397a07 100644
--- a/src/server/game/Maps/ZoneScript.h
+++ b/src/server/game/Maps/ZoneScript.h
@@ -30,8 +30,13 @@ struct CreatureData;
class TC_GAME_API ZoneScript
{
public:
- ZoneScript() { }
- virtual ~ZoneScript() { }
+ ZoneScript();
+ virtual ~ZoneScript();
+
+ ZoneScript(ZoneScript const& right) = delete;
+ ZoneScript(ZoneScript&& right) = delete;
+ ZoneScript& operator=(ZoneScript const& right) = delete;
+ ZoneScript& operator=(ZoneScript&& right) = delete;
virtual uint32 GetCreatureEntry(ObjectGuid::LowType /*spawnId*/, CreatureData const* data);
virtual uint32 GetGameObjectEntry(ObjectGuid::LowType /*spawnId*/, uint32 entry) { return entry; }
diff --git a/src/server/game/Movement/PathGenerator.h b/src/server/game/Movement/PathGenerator.h
index 64ad8393436..96acbd20616 100644
--- a/src/server/game/Movement/PathGenerator.h
+++ b/src/server/game/Movement/PathGenerator.h
@@ -58,6 +58,11 @@ class TC_GAME_API PathGenerator
explicit PathGenerator(WorldObject const* owner);
~PathGenerator();
+ PathGenerator(PathGenerator const& right) = delete;
+ PathGenerator(PathGenerator&& right) = delete;
+ PathGenerator& operator=(PathGenerator const& right) = delete;
+ PathGenerator& operator=(PathGenerator&& right) = delete;
+
// Calculate the path from owner to given destination
// return: true if new path was calculated, false otherwise (no change needed)
bool CalculatePath(float destX, float destY, float destZ, bool forceDest = false);
diff --git a/src/server/game/Movement/Spline/Spline.cpp b/src/server/game/Movement/Spline/Spline.cpp
index 14a3c5d93d8..851c1634d36 100644
--- a/src/server/game/Movement/Spline/Spline.cpp
+++ b/src/server/game/Movement/Spline/Spline.cpp
@@ -282,6 +282,12 @@ void SplineBase::InitBezier3(Vector3 const* controls, index_type count, index_ty
//mov_assert(points.size() % 3 == 0);
}
+SplineBase::SplineBase(): index_lo(0), index_hi(0), m_mode(UninitializedMode), cyclic(false), initialOrientation(0.f)
+{
+}
+
+SplineBase::~SplineBase() = default;
+
void SplineBase::clear()
{
index_lo = 0;
diff --git a/src/server/game/Movement/Spline/Spline.h b/src/server/game/Movement/Spline/Spline.h
index 3f20e2bed72..dd328b3ab03 100644
--- a/src/server/game/Movement/Spline/Spline.h
+++ b/src/server/game/Movement/Spline/Spline.h
@@ -90,7 +90,12 @@ protected:
public:
- explicit SplineBase() : index_lo(0), index_hi(0), m_mode(UninitializedMode), cyclic(false), initialOrientation(0.f) { }
+ explicit SplineBase();
+ SplineBase(SplineBase const& right) = delete;
+ SplineBase(SplineBase&& right) = delete;
+ SplineBase& operator=(SplineBase const& right) = delete;
+ SplineBase& operator=(SplineBase&& right) = delete;
+ virtual ~SplineBase();
/** Caclulates the position for given segment Idx, and percent of segment length t
@param t - percent of segment length, assumes that t in range [0, 1]
diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.h b/src/server/game/OutdoorPvP/OutdoorPvP.h
index 28d0a7b4f66..507165d4482 100644
--- a/src/server/game/OutdoorPvP/OutdoorPvP.h
+++ b/src/server/game/OutdoorPvP/OutdoorPvP.h
@@ -90,6 +90,11 @@ class TC_GAME_API OPvPCapturePoint
virtual ~OPvPCapturePoint() { }
+ OPvPCapturePoint(OPvPCapturePoint const& right) = delete;
+ OPvPCapturePoint(OPvPCapturePoint&& right) = delete;
+ OPvPCapturePoint& operator=(OPvPCapturePoint const& right) = delete;
+ OPvPCapturePoint& operator=(OPvPCapturePoint&& right) = delete;
+
virtual void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& /*packet*/) { }
// send world state update to all players present
diff --git a/src/server/game/Phasing/PhaseShift.cpp b/src/server/game/Phasing/PhaseShift.cpp
index f0655bf01fa..0c11581b545 100644
--- a/src/server/game/Phasing/PhaseShift.cpp
+++ b/src/server/game/Phasing/PhaseShift.cpp
@@ -18,6 +18,13 @@
#include "PhaseShift.h"
#include "Containers.h"
+PhaseShift::PhaseShift() = default;
+PhaseShift::PhaseShift(PhaseShift const& right) = default;
+PhaseShift::PhaseShift(PhaseShift&& right) noexcept = default;
+PhaseShift& PhaseShift::operator=(PhaseShift const& right) = default;
+PhaseShift& PhaseShift::operator=(PhaseShift&& right) noexcept = default;
+PhaseShift::~PhaseShift() = default;
+
bool PhaseShift::AddPhase(uint32 phaseId, PhaseFlags flags, std::vector<Condition*> const* areaConditions, int32 references /*= 1*/)
{
auto insertResult = Phases.emplace(phaseId, flags, nullptr);
diff --git a/src/server/game/Phasing/PhaseShift.h b/src/server/game/Phasing/PhaseShift.h
index 32fc4455877..7d483ce12a9 100644
--- a/src/server/game/Phasing/PhaseShift.h
+++ b/src/server/game/Phasing/PhaseShift.h
@@ -86,6 +86,13 @@ public:
using VisibleMapIdContainer = std::map<uint32, VisibleMapIdRef>;
using UiMapPhaseIdContainer = std::map<uint32, UiMapPhaseIdRef>;
+ PhaseShift();
+ PhaseShift(PhaseShift const& right);
+ PhaseShift(PhaseShift&& right) noexcept;
+ PhaseShift& operator=(PhaseShift const& right);
+ PhaseShift& operator=(PhaseShift&& right) noexcept;
+ ~PhaseShift();
+
ObjectGuid GetPersonalGuid() const { return PersonalGuid; }
bool AddPhase(uint32 phaseId, PhaseFlags flags, std::vector<Condition*> const* areaConditions, int32 references = 1);
diff --git a/src/server/game/Pools/PoolMgr.cpp b/src/server/game/Pools/PoolMgr.cpp
index fdae087c09c..52e8c4cfa1e 100644
--- a/src/server/game/Pools/PoolMgr.cpp
+++ b/src/server/game/Pools/PoolMgr.cpp
@@ -32,6 +32,9 @@ PoolObject::PoolObject(uint64 _guid, float _chance) : guid(_guid), chance(std::f
////////////////////////////////////////////////////////////
// template class ActivePoolData
+ActivePoolData::ActivePoolData() = default;
+ActivePoolData::~ActivePoolData() = default;
+
// Method that tell amount spawned objects/subpools
uint32 ActivePoolData::GetActiveObjectCount(uint32 pool_id) const
{
@@ -111,6 +114,14 @@ void ActivePoolData::RemoveObject<Pool>(uint64 sub_pool_id, uint32 pool_id)
////////////////////////////////////////////////////////////
// Methods of template class PoolGroup
+template <class T>
+PoolGroup<T>::PoolGroup(): poolId(0)
+{
+}
+
+template <class T>
+PoolGroup<T>::~PoolGroup() = default;
+
// Method to add a gameobject/creature guid to the proper list depending on pool type and chance value
template <class T>
void PoolGroup<T>::AddEntry(PoolObject& poolitem, uint32 maxentries)
@@ -422,7 +433,8 @@ void PoolGroup<Pool>::RemoveRespawnTimeFromDB(uint64 /*guid*/) { }
////////////////////////////////////////////////////////////
// Methods of class PoolMgr
-PoolMgr::PoolMgr() { }
+PoolMgr::PoolMgr() = default;
+PoolMgr::~PoolMgr() = default;
void PoolMgr::Initialize()
{
diff --git a/src/server/game/Pools/PoolMgr.h b/src/server/game/Pools/PoolMgr.h
index a37733c66fc..867e7e275ae 100644
--- a/src/server/game/Pools/PoolMgr.h
+++ b/src/server/game/Pools/PoolMgr.h
@@ -51,6 +51,14 @@ typedef std::map<uint64, uint32> ActivePoolPools;
class TC_GAME_API ActivePoolData
{
public:
+ explicit ActivePoolData();
+ ~ActivePoolData();
+
+ ActivePoolData(ActivePoolData const& right) = delete;
+ ActivePoolData(ActivePoolData&& right) = delete;
+ ActivePoolData& operator=(ActivePoolData const& right) = delete;
+ ActivePoolData& operator=(ActivePoolData&& right) = delete;
+
template<typename T>
bool IsActiveObject(uint64 db_guid_or_pool_id) const;
@@ -72,9 +80,15 @@ class TC_GAME_API PoolGroup
{
typedef std::vector<PoolObject> PoolObjectList;
public:
- explicit PoolGroup() : poolId(0) { }
+ explicit PoolGroup();
+ ~PoolGroup();
+
+ PoolGroup(PoolGroup const& right) = delete;
+ PoolGroup(PoolGroup&& right) = delete;
+ PoolGroup& operator=(PoolGroup const& right) = delete;
+ PoolGroup& operator=(PoolGroup&& right) = delete;
+
void SetPoolId(uint32 pool_id) { poolId = pool_id; }
- ~PoolGroup() { };
bool isEmpty() const { return ExplicitlyChanced.empty() && EqualChanced.empty(); }
void AddEntry(PoolObject& poolitem, uint32 maxentries);
bool CheckPool() const;
@@ -103,9 +117,14 @@ class TC_GAME_API PoolMgr
{
private:
PoolMgr();
- ~PoolMgr() { };
+ ~PoolMgr();
public:
+ PoolMgr(PoolMgr const& right) = delete;
+ PoolMgr(PoolMgr&& right) = delete;
+ PoolMgr& operator=(PoolMgr const& right) = delete;
+ PoolMgr& operator=(PoolMgr&& right) = delete;
+
static PoolMgr* instance();
void LoadFromDB();
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index 1ca7264aa2d..cbec3f39834 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -1196,7 +1196,7 @@ ScriptMgr::ScriptMgr()
{
}
-ScriptMgr::~ScriptMgr() { }
+ScriptMgr::~ScriptMgr() = default;
ScriptMgr* ScriptMgr::instance()
{
@@ -2374,24 +2374,32 @@ ServerScript::ServerScript(char const* name)
ScriptRegistry<ServerScript>::Instance()->AddScript(this);
}
+ServerScript::~ServerScript() = default;
+
WorldScript::WorldScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<WorldScript>::Instance()->AddScript(this);
}
+WorldScript::~WorldScript() = default;
+
FormulaScript::FormulaScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<FormulaScript>::Instance()->AddScript(this);
}
+FormulaScript::~FormulaScript() = default;
+
UnitScript::UnitScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<UnitScript>::Instance()->AddScript(this);
}
+UnitScript::~UnitScript() = default;
+
WorldMapScript::WorldMapScript(char const* name, uint32 mapId)
: ScriptObject(name), MapScript<Map>(sMapStore.LookupEntry(mapId))
{
@@ -2404,6 +2412,8 @@ WorldMapScript::WorldMapScript(char const* name, uint32 mapId)
ScriptRegistry<WorldMapScript>::Instance()->AddScript(this);
}
+WorldMapScript::~WorldMapScript() = default;
+
InstanceMapScript::InstanceMapScript(char const* name, uint32 mapId)
: ScriptObject(name), MapScript<InstanceMap>(sMapStore.LookupEntry(mapId))
{
@@ -2416,6 +2426,8 @@ InstanceMapScript::InstanceMapScript(char const* name, uint32 mapId)
ScriptRegistry<InstanceMapScript>::Instance()->AddScript(this);
}
+InstanceMapScript::~InstanceMapScript() = default;
+
BattlegroundMapScript::BattlegroundMapScript(char const* name, uint32 mapId)
: ScriptObject(name), MapScript<BattlegroundMap>(sMapStore.LookupEntry(mapId))
{
@@ -2428,30 +2440,42 @@ BattlegroundMapScript::BattlegroundMapScript(char const* name, uint32 mapId)
ScriptRegistry<BattlegroundMapScript>::Instance()->AddScript(this);
}
+BattlegroundMapScript::~BattlegroundMapScript() = default;
+
ItemScript::ItemScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<ItemScript>::Instance()->AddScript(this);
}
+ItemScript::~ItemScript() = default;
+
CreatureScript::CreatureScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<CreatureScript>::Instance()->AddScript(this);
}
+CreatureScript::~CreatureScript() = default;
+
GameObjectScript::GameObjectScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<GameObjectScript>::Instance()->AddScript(this);
}
+GameObjectScript::~GameObjectScript() = default;
+
AreaTriggerScript::AreaTriggerScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AreaTriggerScript>::Instance()->AddScript(this);
}
+AreaTriggerScript::~AreaTriggerScript() = default;
+
+OnlyOnceAreaTriggerScript::~OnlyOnceAreaTriggerScript() = default;
+
bool OnlyOnceAreaTriggerScript::OnTrigger(Player* player, AreaTriggerEntry const* trigger)
{
uint32 const triggerId = trigger->ID;
@@ -2473,95 +2497,111 @@ BattlefieldScript::BattlefieldScript(char const* name)
ScriptRegistry<BattlefieldScript>::Instance()->AddScript(this);
}
+BattlefieldScript::~BattlefieldScript() = default;
+
BattlegroundScript::BattlegroundScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<BattlegroundScript>::Instance()->AddScript(this);
}
+BattlegroundScript::~BattlegroundScript() = default;
+
OutdoorPvPScript::OutdoorPvPScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<OutdoorPvPScript>::Instance()->AddScript(this);
}
+OutdoorPvPScript::~OutdoorPvPScript() = default;
+
CommandScript::CommandScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<CommandScript>::Instance()->AddScript(this);
}
+CommandScript::~CommandScript() = default;
+
WeatherScript::WeatherScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<WeatherScript>::Instance()->AddScript(this);
}
+WeatherScript::~WeatherScript() = default;
+
AuctionHouseScript::AuctionHouseScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AuctionHouseScript>::Instance()->AddScript(this);
}
+AuctionHouseScript::~AuctionHouseScript() = default;
+
ConditionScript::ConditionScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<ConditionScript>::Instance()->AddScript(this);
}
+ConditionScript::~ConditionScript() = default;
+
VehicleScript::VehicleScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<VehicleScript>::Instance()->AddScript(this);
}
+VehicleScript::~VehicleScript() = default;
+
DynamicObjectScript::DynamicObjectScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<DynamicObjectScript>::Instance()->AddScript(this);
}
+DynamicObjectScript::~DynamicObjectScript() = default;
+
TransportScript::TransportScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<TransportScript>::Instance()->AddScript(this);
}
+TransportScript::~TransportScript() = default;
+
AchievementScript::AchievementScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AchievementScript>::Instance()->AddScript(this);
}
+AchievementScript::~AchievementScript() = default;
+
AchievementCriteriaScript::AchievementCriteriaScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AchievementCriteriaScript>::Instance()->AddScript(this);
}
+AchievementCriteriaScript::~AchievementCriteriaScript() = default;
+
PlayerScript::PlayerScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<PlayerScript>::Instance()->AddScript(this);
}
+PlayerScript::~PlayerScript() = default;
+
AccountScript::AccountScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AccountScript>::Instance()->AddScript(this);
}
-SceneScript::SceneScript(char const* name)
- : ScriptObject(name)
-{
- ScriptRegistry<SceneScript>::Instance()->AddScript(this);
-}
-
-QuestScript::QuestScript(char const* name)
- : ScriptObject(name)
-{
- ScriptRegistry<QuestScript>::Instance()->AddScript(this);
-}
+AccountScript::~AccountScript() = default;
GuildScript::GuildScript(char const* name)
: ScriptObject(name)
@@ -2569,24 +2609,48 @@ GuildScript::GuildScript(char const* name)
ScriptRegistry<GuildScript>::Instance()->AddScript(this);
}
+GuildScript::~GuildScript() = default;
+
GroupScript::GroupScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<GroupScript>::Instance()->AddScript(this);
}
+GroupScript::~GroupScript() = default;
+
AreaTriggerEntityScript::AreaTriggerEntityScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AreaTriggerEntityScript>::Instance()->AddScript(this);
}
+AreaTriggerEntityScript::~AreaTriggerEntityScript() = default;
+
ConversationScript::ConversationScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<ConversationScript>::Instance()->AddScript(this);
}
+ConversationScript::~ConversationScript() = default;
+
+SceneScript::SceneScript(char const* name)
+ : ScriptObject(name)
+{
+ ScriptRegistry<SceneScript>::Instance()->AddScript(this);
+}
+
+SceneScript::~SceneScript() = default;
+
+QuestScript::QuestScript(char const* name)
+ : ScriptObject(name)
+{
+ ScriptRegistry<QuestScript>::Instance()->AddScript(this);
+}
+
+QuestScript::~QuestScript() = default;
+
// Specialize for each script type class like so:
template class TC_GAME_API ScriptRegistry<SpellScriptLoader>;
template class TC_GAME_API ScriptRegistry<ServerScript>;
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 7aae463cd86..9d420542cae 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -176,6 +176,11 @@ class TC_GAME_API ScriptObject
public:
+ ScriptObject(ScriptObject const& right) = delete;
+ ScriptObject(ScriptObject&& right) = delete;
+ ScriptObject& operator=(ScriptObject const& right) = delete;
+ ScriptObject& operator=(ScriptObject&& right) = delete;
+
const std::string& GetName() const { return _name; }
protected:
@@ -200,6 +205,11 @@ template<class TObject> class UpdatableScript
public:
+ UpdatableScript(UpdatableScript const& right) = delete;
+ UpdatableScript(UpdatableScript&& right) = delete;
+ UpdatableScript& operator=(UpdatableScript const& right) = delete;
+ UpdatableScript& operator=(UpdatableScript&& right) = delete;
+
virtual void OnUpdate(TObject* /*obj*/, uint32 /*diff*/) { }
};
@@ -226,6 +236,8 @@ class TC_GAME_API ServerScript : public ScriptObject
public:
+ ~ServerScript();
+
// Called when reactive socket I/O is started (WorldTcpSessionMgr).
virtual void OnNetworkStart() { }
@@ -256,6 +268,8 @@ class TC_GAME_API WorldScript : public ScriptObject
public:
+ ~WorldScript();
+
// Called when the open/closed state of the world changes.
virtual void OnOpenStateChange(bool /*open*/) { }
@@ -289,6 +303,8 @@ class TC_GAME_API FormulaScript : public ScriptObject
public:
+ ~FormulaScript();
+
// Called after calculating honor.
virtual void OnHonorCalculation(float& /*honor*/, uint8 /*level*/, float /*multiplier*/) { }
@@ -349,6 +365,10 @@ class TC_GAME_API WorldMapScript : public ScriptObject, public MapScript<Map>
protected:
WorldMapScript(char const* name, uint32 mapId);
+
+ public:
+
+ ~WorldMapScript();
};
class TC_GAME_API InstanceMapScript
@@ -360,6 +380,8 @@ class TC_GAME_API InstanceMapScript
public:
+ ~InstanceMapScript();
+
// Gets an InstanceScript object for this instance.
virtual InstanceScript* GetInstanceScript(InstanceMap* /*map*/) const { return nullptr; }
};
@@ -369,6 +391,10 @@ class TC_GAME_API BattlegroundMapScript : public ScriptObject, public MapScript<
protected:
BattlegroundMapScript(char const* name, uint32 mapId);
+
+ public:
+
+ ~BattlegroundMapScript();
};
class TC_GAME_API ItemScript : public ScriptObject
@@ -379,6 +405,8 @@ class TC_GAME_API ItemScript : public ScriptObject
public:
+ ~ItemScript();
+
// Called when a player accepts a quest from the item.
virtual bool OnQuestAccept(Player* /*player*/, Item* /*item*/, Quest const* /*quest*/) { return false; }
@@ -402,6 +430,9 @@ class TC_GAME_API UnitScript : public ScriptObject
UnitScript(char const* name);
public:
+
+ ~UnitScript();
+
// Called when a unit deals healing to another unit
virtual void OnHeal(Unit* /*healer*/, Unit* /*reciever*/, uint32& /*gain*/) { }
@@ -428,6 +459,9 @@ class TC_GAME_API CreatureScript : public ScriptObject
CreatureScript(char const* name);
public:
+
+ ~CreatureScript();
+
// Called when an unit exits a vehicle
virtual void ModifyVehiclePassengerExitPos(Unit* /*passenger*/, Vehicle* /*vehicle*/, Position& /*pos*/) { }
@@ -443,6 +477,8 @@ class TC_GAME_API GameObjectScript : public ScriptObject
public:
+ ~GameObjectScript();
+
// Called when a GameObjectAI object is needed for the gameobject.
virtual GameObjectAI* GetAI(GameObject* /*go*/) const = 0;
};
@@ -455,6 +491,8 @@ class TC_GAME_API AreaTriggerScript : public ScriptObject
public:
+ ~AreaTriggerScript();
+
// Called when the area trigger is activated by a player.
virtual bool OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/) { return false; }
@@ -464,9 +502,12 @@ class TC_GAME_API AreaTriggerScript : public ScriptObject
class TC_GAME_API OnlyOnceAreaTriggerScript : public AreaTriggerScript
{
- using AreaTriggerScript::AreaTriggerScript;
+ using AreaTriggerScript::AreaTriggerScript;
public:
+
+ ~OnlyOnceAreaTriggerScript();
+
bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) final;
protected:
@@ -484,6 +525,8 @@ class TC_GAME_API BattlefieldScript : public ScriptObject
public:
+ ~BattlefieldScript();
+
virtual Battlefield* GetBattlefield() const = 0;
};
@@ -495,6 +538,8 @@ class TC_GAME_API BattlegroundScript : public ScriptObject
public:
+ ~BattlegroundScript();
+
// Should return a fully valid Battleground object for the type ID.
virtual Battleground* GetBattleground() const = 0;
};
@@ -507,6 +552,8 @@ class TC_GAME_API OutdoorPvPScript : public ScriptObject
public:
+ ~OutdoorPvPScript();
+
// Should return a fully valid OutdoorPvP object for the type ID.
virtual OutdoorPvP* GetOutdoorPvP() const = 0;
};
@@ -519,6 +566,8 @@ class TC_GAME_API CommandScript : public ScriptObject
public:
+ ~CommandScript();
+
// Should return a pointer to a valid command table (ChatCommand array) to be used by ChatHandler.
virtual std::vector<ChatCommand> GetCommands() const = 0;
};
@@ -531,6 +580,8 @@ class TC_GAME_API WeatherScript : public ScriptObject, public UpdatableScript<We
public:
+ ~WeatherScript();
+
// Called when the weather changes in the zone this script is associated with.
virtual void OnChange(Weather* /*weather*/, WeatherState /*state*/, float /*grade*/) { }
};
@@ -543,6 +594,8 @@ class TC_GAME_API AuctionHouseScript : public ScriptObject
public:
+ ~AuctionHouseScript();
+
// Called when an auction is added to an auction house.
virtual void OnAuctionAdd(AuctionHouseObject* /*ah*/, AuctionPosting* /*auction*/) { }
@@ -564,6 +617,8 @@ class TC_GAME_API ConditionScript : public ScriptObject
public:
+ ~ConditionScript();
+
// Called when a single condition is checked for a player.
virtual bool OnConditionCheck(Condition const* /*condition*/, ConditionSourceInfo& /*sourceInfo*/) { return true; }
};
@@ -576,6 +631,8 @@ class TC_GAME_API VehicleScript : public ScriptObject
public:
+ ~VehicleScript();
+
// Called after a vehicle is installed.
virtual void OnInstall(Vehicle* /*veh*/) { }
@@ -600,6 +657,10 @@ class TC_GAME_API DynamicObjectScript : public ScriptObject, public UpdatableScr
protected:
DynamicObjectScript(char const* name);
+
+ public:
+
+ ~DynamicObjectScript();
};
class TC_GAME_API TransportScript : public ScriptObject, public UpdatableScript<Transport>
@@ -610,6 +671,8 @@ class TC_GAME_API TransportScript : public ScriptObject, public UpdatableScript<
public:
+ ~TransportScript();
+
// Called when a player boards the transport.
virtual void OnAddPassenger(Transport* /*transport*/, Player* /*player*/) { }
@@ -631,6 +694,8 @@ class TC_GAME_API AchievementScript : public ScriptObject
public:
+ ~AchievementScript();
+
// Called when an achievement is completed.
virtual void OnCompleted(Player* /*player*/, AchievementEntry const* /*achievement*/) { }
};
@@ -643,6 +708,8 @@ class TC_GAME_API AchievementCriteriaScript : public ScriptObject
public:
+ ~AchievementCriteriaScript();
+
// Called when an additional criteria is checked.
virtual bool OnCheck(Player* source, Unit* target) = 0;
};
@@ -655,6 +722,8 @@ class TC_GAME_API PlayerScript : public ScriptObject
public:
+ ~PlayerScript();
+
// Called when a player kills another player
virtual void OnPVPKill(Player* /*killer*/, Player* /*killed*/) { }
@@ -761,6 +830,8 @@ class TC_GAME_API AccountScript : public ScriptObject
public:
+ ~AccountScript();
+
// Called when an account logged in succesfully
virtual void OnAccountLogin(uint32 /*accountId*/) {}
@@ -788,6 +859,8 @@ class TC_GAME_API GuildScript : public ScriptObject
public:
+ ~GuildScript();
+
// Called when a member is added to the guild.
virtual void OnAddMember(Guild* /*guild*/, Player* /*player*/, uint8 /*plRank*/) { }
@@ -829,6 +902,8 @@ class TC_GAME_API GroupScript : public ScriptObject
public:
+ ~GroupScript();
+
// Called when a member is added to a group.
virtual void OnAddMember(Group* /*group*/, ObjectGuid /*guid*/) { }
@@ -853,6 +928,8 @@ class TC_GAME_API AreaTriggerEntityScript : public ScriptObject
public:
+ ~AreaTriggerEntityScript();
+
// Called when a AreaTriggerAI object is needed for the areatrigger.
virtual AreaTriggerAI* GetAI(AreaTrigger* /*at*/) const { return nullptr; }
};
@@ -864,6 +941,8 @@ class TC_GAME_API ConversationScript : public ScriptObject
public:
+ ~ConversationScript();
+
// Called when Conversation is created but not added to Map yet.
virtual void OnConversationCreate(Conversation* /*conversation*/, Unit* /*creator*/) { }
@@ -878,6 +957,9 @@ class TC_GAME_API SceneScript : public ScriptObject
SceneScript(char const* name);
public:
+
+ ~SceneScript();
+
// Called when a player start a scene
virtual void OnSceneStart(Player* /*player*/, uint32 /*sceneInstanceID*/, SceneTemplate const* /*sceneTemplate*/) { }
@@ -898,6 +980,9 @@ class TC_GAME_API QuestScript : public ScriptObject
QuestScript(char const* name);
public:
+
+ ~QuestScript();
+
// Called when a quest status change
virtual void OnQuestStatusChange(Player* /*player*/, Quest const* /*quest*/, QuestStatus /*oldStatus*/, QuestStatus /*newStatus*/) { }
@@ -915,7 +1000,12 @@ class TC_GAME_API ScriptMgr
private:
ScriptMgr();
- virtual ~ScriptMgr();
+ ~ScriptMgr();
+
+ ScriptMgr(ScriptMgr const& right) = delete;
+ ScriptMgr(ScriptMgr&& right) = delete;
+ ScriptMgr& operator=(ScriptMgr const& right) = delete;
+ ScriptMgr& operator=(ScriptMgr&& right) = delete;
void FillSpellSummary();
void LoadDatabase();
diff --git a/src/server/game/Spells/Auras/SpellAuras.h b/src/server/game/Spells/Auras/SpellAuras.h
index 675c0e159f1..38bcac57d27 100644
--- a/src/server/game/Spells/Auras/SpellAuras.h
+++ b/src/server/game/Spells/Auras/SpellAuras.h
@@ -307,6 +307,12 @@ class TC_GAME_API Aura
virtual std::string GetDebugInfo() const;
+ Aura(Aura const&) = delete;
+ Aura(Aura&&) = delete;
+
+ Aura& operator=(Aura const&) = delete;
+ Aura& operator=(Aura&&) = delete;
+
private:
AuraScript* GetScriptByType(std::type_info const& type) const;
void _DeleteRemovedApplications();
diff --git a/src/server/game/Spells/SpellHistory.cpp b/src/server/game/Spells/SpellHistory.cpp
index 95a9582063f..e4298f9f7e3 100644
--- a/src/server/game/Spells/SpellHistory.cpp
+++ b/src/server/game/Spells/SpellHistory.cpp
@@ -136,6 +136,12 @@ struct SpellHistory::PersistenceHelper<Pet>
}
};
+SpellHistory::SpellHistory(Unit* owner) : _owner(owner), _schoolLockouts()
+{
+}
+
+SpellHistory::~SpellHistory() = default;
+
template<class OwnerType>
void SpellHistory::LoadFromDB(PreparedQueryResult cooldownsResult, PreparedQueryResult chargesResult)
{
diff --git a/src/server/game/Spells/SpellHistory.h b/src/server/game/Spells/SpellHistory.h
index a14c9c37a1b..1a32371153e 100644
--- a/src/server/game/Spells/SpellHistory.h
+++ b/src/server/game/Spells/SpellHistory.h
@@ -75,7 +75,14 @@ public:
using ChargeStorageType = std::unordered_map<uint32 /*categoryId*/, ChargeEntryCollection>;
using GlobalCooldownStorageType = std::unordered_map<uint32 /*categoryId*/, Clock::time_point>;
- explicit SpellHistory(Unit* owner) : _owner(owner), _schoolLockouts() { }
+ explicit SpellHistory(Unit* owner);
+ ~SpellHistory();
+
+ SpellHistory(SpellHistory const&) = delete;
+ SpellHistory(SpellHistory&&) = delete;
+
+ SpellHistory& operator=(SpellHistory const&) = delete;
+ SpellHistory& operator=(SpellHistory&&) = delete;
template<class OwnerType>
void LoadFromDB(PreparedQueryResult cooldownsResult, PreparedQueryResult chargesResult);
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index e2d3bacd848..17afab842cf 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -216,6 +216,13 @@ uint32 SpellImplicitTargetInfo::GetExplicitTargetMask(bool& srcSet, bool& dstSet
return targetMask;
}
+ImmunityInfo::ImmunityInfo() = default;
+ImmunityInfo::~ImmunityInfo() = default;
+ImmunityInfo::ImmunityInfo(ImmunityInfo const&) = default;
+ImmunityInfo::ImmunityInfo(ImmunityInfo&&) noexcept = default;
+ImmunityInfo& ImmunityInfo::operator=(ImmunityInfo const&) = default;
+ImmunityInfo& ImmunityInfo::operator=(ImmunityInfo&&) noexcept = default;
+
std::array<SpellImplicitTargetInfo::StaticData, TOTAL_SPELL_TARGETS> SpellImplicitTargetInfo::_data =
{ {
{TARGET_OBJECT_TYPE_NONE, TARGET_REFERENCE_TYPE_NONE, TARGET_SELECT_CATEGORY_NYI, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, //
@@ -372,6 +379,15 @@ std::array<SpellImplicitTargetInfo::StaticData, TOTAL_SPELL_TARGETS> SpellImplic
{TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_AREA, TARGET_CHECK_ENEMY, TARGET_DIR_NONE}, // 151
} };
+SpellEffectInfo::SpellEffectInfo(SpellInfo const* spellInfo): _spellInfo(spellInfo), EffectIndex(EFFECT_0), Effect(SPELL_EFFECT_NONE), ApplyAuraName(AuraType(0)), ApplyAuraPeriod(0),
+ BasePoints(0), RealPointsPerLevel(0), PointsPerResource(0), Amplitude(0), ChainAmplitude(0),
+ BonusCoefficient(0), MiscValue(0), MiscValueB(0), Mechanic(MECHANIC_NONE), PositionFacing(0),
+ RadiusEntry(nullptr), MaxRadiusEntry(nullptr), ChainTargets(0), ItemType(0), TriggerSpell(0),
+ BonusCoefficientFromAP(0.0f), ImplicitTargetConditions(nullptr),
+ EffectAttributes(SpellEffectAttributes::None), Scaling()
+{
+}
+
SpellEffectInfo::SpellEffectInfo(SpellInfo const* spellInfo, SpellEffectEntry const& _effect)
: EffectAttributes(SpellEffectAttributes::None)
{
@@ -409,6 +425,12 @@ SpellEffectInfo::SpellEffectInfo(SpellInfo const* spellInfo, SpellEffectEntry co
EffectAttributes = _effect.GetEffectAttributes();
}
+SpellEffectInfo::SpellEffectInfo(SpellEffectInfo const&) = default;
+SpellEffectInfo::SpellEffectInfo(SpellEffectInfo&&) noexcept = default;
+SpellEffectInfo::~SpellEffectInfo() = default;
+SpellEffectInfo& SpellEffectInfo::operator=(SpellEffectInfo const&) = default;
+SpellEffectInfo& SpellEffectInfo::operator=(SpellEffectInfo&&) noexcept = default;
+
bool SpellEffectInfo::IsEffect() const
{
return Effect != 0;
diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h
index a2b1070903f..21425d1b595 100644
--- a/src/server/game/Spells/SpellInfo.h
+++ b/src/server/game/Spells/SpellInfo.h
@@ -213,6 +213,14 @@ private:
struct TC_GAME_API ImmunityInfo
{
+ ImmunityInfo();
+ ~ImmunityInfo();
+
+ ImmunityInfo(ImmunityInfo const&);
+ ImmunityInfo(ImmunityInfo&&) noexcept;
+ ImmunityInfo& operator=(ImmunityInfo const&);
+ ImmunityInfo& operator=(ImmunityInfo&&) noexcept;
+
uint32 SchoolImmuneMask = 0;
uint32 ApplyHarmfulAuraImmuneMask = 0;
uint32 MechanicImmuneMask = 0;
@@ -262,13 +270,14 @@ public:
float ResourceCoefficient;
} Scaling;
- SpellEffectInfo(SpellInfo const* spellInfo) : _spellInfo(spellInfo), EffectIndex(EFFECT_0), Effect(SPELL_EFFECT_NONE), ApplyAuraName(AuraType(0)), ApplyAuraPeriod(0),
- BasePoints(0), RealPointsPerLevel(0), PointsPerResource(0), Amplitude(0), ChainAmplitude(0),
- BonusCoefficient(0), MiscValue(0), MiscValueB(0), Mechanic(MECHANIC_NONE), PositionFacing(0),
- RadiusEntry(nullptr), MaxRadiusEntry(nullptr), ChainTargets(0), ItemType(0), TriggerSpell(0),
- BonusCoefficientFromAP(0.0f), ImplicitTargetConditions(nullptr),
- EffectAttributes(SpellEffectAttributes::None), Scaling() { }
- SpellEffectInfo(SpellInfo const* spellInfo, SpellEffectEntry const& effect);
+ explicit SpellEffectInfo(SpellInfo const* spellInfo);
+ explicit SpellEffectInfo(SpellInfo const* spellInfo, SpellEffectEntry const& effect);
+ SpellEffectInfo(SpellEffectInfo const&);
+ SpellEffectInfo(SpellEffectInfo&&) noexcept;
+ ~SpellEffectInfo();
+
+ SpellEffectInfo& operator=(SpellEffectInfo const&);
+ SpellEffectInfo& operator=(SpellEffectInfo&&) noexcept;
bool IsEffect() const;
bool IsEffect(SpellEffectName effectName) const;
@@ -434,10 +443,15 @@ class TC_GAME_API SpellInfo
uint32 ExplicitTargetMask = 0;
SpellChainNode const* ChainEntry = nullptr;
- SpellInfo(SpellNameEntry const* spellName, ::Difficulty difficulty, SpellInfoLoadHelper const& data);
- SpellInfo(SpellNameEntry const* spellName, ::Difficulty difficulty, std::vector<SpellEffectEntry> const& effects);
+ explicit SpellInfo(SpellNameEntry const* spellName, ::Difficulty difficulty, SpellInfoLoadHelper const& data);
+ explicit SpellInfo(SpellNameEntry const* spellName, ::Difficulty difficulty, std::vector<SpellEffectEntry> const& effects);
+ SpellInfo(SpellInfo const&) = delete;
+ SpellInfo(SpellInfo&&) = delete;
~SpellInfo();
+ SpellInfo& operator=(SpellInfo const&) = delete;
+ SpellInfo& operator=(SpellInfo&&) noexcept = delete;
+
uint32 GetCategory() const;
bool HasEffect(SpellEffectName effect) const;
bool HasAura(AuraType aura) const;
diff --git a/src/server/game/Spells/SpellMgr.h b/src/server/game/Spells/SpellMgr.h
index 6e1fe9ea80e..812ecf23b0a 100644
--- a/src/server/game/Spells/SpellMgr.h
+++ b/src/server/game/Spells/SpellMgr.h
@@ -676,6 +676,11 @@ class TC_GAME_API SpellMgr
// Accessors (const or static functions)
public:
+ SpellMgr(SpellMgr const& right) = delete;
+ SpellMgr(SpellMgr&& right) = delete;
+ SpellMgr& operator=(SpellMgr const& right) = delete;
+ SpellMgr& operator=(SpellMgr&& right) = delete;
+
static SpellMgr* instance();
// Spell correctness for client using
diff --git a/src/server/game/Spells/SpellScript.cpp b/src/server/game/Spells/SpellScript.cpp
index 0029986471a..65adc36a019 100644
--- a/src/server/game/Spells/SpellScript.cpp
+++ b/src/server/game/Spells/SpellScript.cpp
@@ -35,6 +35,12 @@ bool _SpellScript::_Validate(SpellInfo const* entry)
return true;
}
+_SpellScript::_SpellScript(): m_currentScriptState(SPELL_SCRIPT_STATE_NONE), m_scriptName(nullptr), m_scriptSpellId(0)
+{
+}
+
+_SpellScript::~_SpellScript() = default;
+
bool _SpellScript::_ValidateSpellInfo(uint32 spellId)
{
if (!sSpellMgr->GetSpellInfo(spellId, DIFFICULTY_NONE))
@@ -84,6 +90,10 @@ _SpellScript::EffectHook::EffectHook(uint8 _effIndex)
effIndex = _effIndex;
}
+_SpellScript::EffectHook::EffectHook(EffectHook&& right) noexcept = default;
+_SpellScript::EffectHook& _SpellScript::EffectHook::operator=(EffectHook&& right) noexcept = default;
+_SpellScript::EffectHook::~EffectHook() = default;
+
uint32 _SpellScript::EffectHook::GetAffectedEffectsMask(SpellInfo const* spellEntry) const
{
uint32 mask = 0;
@@ -121,6 +131,14 @@ std::string _SpellScript::EffectHook::EffIndexToString() const
return "Invalid Value";
}
+_SpellScript::EffectNameCheck::EffectNameCheck(uint16 _effName) : effName(_effName)
+{
+}
+
+_SpellScript::EffectNameCheck::EffectNameCheck(EffectNameCheck&& right) noexcept = default;
+_SpellScript::EffectNameCheck& _SpellScript::EffectNameCheck::operator=(EffectNameCheck&& right) noexcept = default;
+_SpellScript::EffectNameCheck::~EffectNameCheck() = default;
+
bool _SpellScript::EffectNameCheck::Check(SpellInfo const* spellEntry, uint8 effIndex) const
{
if (spellEntry->GetEffects().size() <= effIndex)
@@ -146,6 +164,14 @@ std::string _SpellScript::EffectNameCheck::ToString() const
}
}
+_SpellScript::EffectAuraNameCheck::EffectAuraNameCheck(uint16 _effAurName) : effAurName(_effAurName)
+{
+}
+
+_SpellScript::EffectAuraNameCheck::EffectAuraNameCheck(EffectAuraNameCheck&& right) noexcept = default;
+_SpellScript::EffectAuraNameCheck& _SpellScript::EffectAuraNameCheck::operator=(EffectAuraNameCheck&& right) noexcept = default;
+_SpellScript::EffectAuraNameCheck::~EffectAuraNameCheck() = default;
+
bool _SpellScript::EffectAuraNameCheck::Check(SpellInfo const* spellEntry, uint8 effIndex) const
{
if (spellEntry->GetEffects().size() <= effIndex)
@@ -171,42 +197,55 @@ std::string _SpellScript::EffectAuraNameCheck::ToString() const
}
}
-SpellScript::CastHandler::CastHandler(SpellCastFnType _pCastHandlerScript)
+SpellScript::CastHandler::CastHandler(SpellCastFnType _pCastHandlerScript) : pCastHandlerScript(_pCastHandlerScript)
{
- pCastHandlerScript = _pCastHandlerScript;
}
+SpellScript::CastHandler::CastHandler(CastHandler&& right) noexcept = default;
+SpellScript::CastHandler& SpellScript::CastHandler::operator=(CastHandler&& right) noexcept = default;
+SpellScript::CastHandler::~CastHandler() = default;
+
void SpellScript::CastHandler::Call(SpellScript* spellScript)
{
(spellScript->*pCastHandlerScript)();
}
-SpellScript::CheckCastHandler::CheckCastHandler(SpellCheckCastFnType checkCastHandlerScript)
+SpellScript::CheckCastHandler::CheckCastHandler(SpellCheckCastFnType checkCastHandlerScript) : _checkCastHandlerScript(checkCastHandlerScript)
{
- _checkCastHandlerScript = checkCastHandlerScript;
}
+SpellScript::CheckCastHandler::CheckCastHandler(CheckCastHandler&& right) noexcept = default;
+SpellScript::CheckCastHandler& SpellScript::CheckCastHandler::operator=(CheckCastHandler&& right) noexcept = default;
+SpellScript::CheckCastHandler::~CheckCastHandler() = default;
+
SpellCastResult SpellScript::CheckCastHandler::Call(SpellScript* spellScript)
{
return (spellScript->*_checkCastHandlerScript)();
}
-SpellScript::OnCalculateResistAbsorbHandler::OnCalculateResistAbsorbHandler(SpellOnResistAbsorbCalculateFnType onResistAbsorbCalculateHandlerScript)
+SpellScript::OnCalculateResistAbsorbHandler::OnCalculateResistAbsorbHandler(SpellOnResistAbsorbCalculateFnType onResistAbsorbCalculateHandlerScript) :
+ pOnCalculateResistAbsorbHandlerScript(onResistAbsorbCalculateHandlerScript)
{
- pOnCalculateResistAbsorbHandlerScript = onResistAbsorbCalculateHandlerScript;
}
+SpellScript::OnCalculateResistAbsorbHandler::OnCalculateResistAbsorbHandler(OnCalculateResistAbsorbHandler&& right) noexcept = default;
+SpellScript::OnCalculateResistAbsorbHandler& SpellScript::OnCalculateResistAbsorbHandler::operator=(OnCalculateResistAbsorbHandler&& right) noexcept = default;
+SpellScript::OnCalculateResistAbsorbHandler::~OnCalculateResistAbsorbHandler() = default;
+
void SpellScript::OnCalculateResistAbsorbHandler::Call(SpellScript* spellScript, DamageInfo const& damageInfo, uint32& resistAmount, int32& absorbAmount)
{
return (spellScript->*pOnCalculateResistAbsorbHandlerScript)(damageInfo, resistAmount, absorbAmount);
}
SpellScript::EffectHandler::EffectHandler(SpellEffectFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName)
- : _SpellScript::EffectNameCheck(_effName), _SpellScript::EffectHook(_effIndex)
+ : _SpellScript::EffectNameCheck(_effName), _SpellScript::EffectHook(_effIndex), pEffectHandlerScript(_pEffectHandlerScript)
{
- pEffectHandlerScript = _pEffectHandlerScript;
}
+SpellScript::EffectHandler::EffectHandler(EffectHandler&& right) noexcept = default;
+SpellScript::EffectHandler& SpellScript::EffectHandler::operator=(EffectHandler&& right) noexcept = default;
+SpellScript::EffectHandler::~EffectHandler() = default;
+
std::string SpellScript::EffectHandler::ToString() const
{
return "Index: " + EffIndexToString() + " Name: " +_SpellScript::EffectNameCheck::ToString();
@@ -222,31 +261,41 @@ void SpellScript::EffectHandler::Call(SpellScript* spellScript, SpellEffIndex ef
(spellScript->*pEffectHandlerScript)(effIndexToHandle);
}
-SpellScript::BeforeHitHandler::BeforeHitHandler(SpellBeforeHitFnType pBeforeHitHandlerScript)
+SpellScript::BeforeHitHandler::BeforeHitHandler(SpellBeforeHitFnType pBeforeHitHandlerScript) : _pBeforeHitHandlerScript(pBeforeHitHandlerScript)
{
- _pBeforeHitHandlerScript = pBeforeHitHandlerScript;
}
+SpellScript::BeforeHitHandler::BeforeHitHandler(BeforeHitHandler&& right) noexcept = default;
+SpellScript::BeforeHitHandler& SpellScript::BeforeHitHandler::operator=(BeforeHitHandler&& right) noexcept = default;
+SpellScript::BeforeHitHandler::~BeforeHitHandler() = default;
+
void SpellScript::BeforeHitHandler::Call(SpellScript* spellScript, SpellMissInfo missInfo)
{
(spellScript->*_pBeforeHitHandlerScript)(missInfo);
}
-SpellScript::HitHandler::HitHandler(SpellHitFnType _pHitHandlerScript)
+SpellScript::HitHandler::HitHandler(SpellHitFnType _pHitHandlerScript) : pHitHandlerScript(_pHitHandlerScript)
{
- pHitHandlerScript = _pHitHandlerScript;
}
+SpellScript::HitHandler::HitHandler(HitHandler&& right) noexcept = default;
+SpellScript::HitHandler& SpellScript::HitHandler::operator=(HitHandler&& right) noexcept = default;
+SpellScript::HitHandler::~HitHandler() = default;
+
void SpellScript::HitHandler::Call(SpellScript* spellScript)
{
(spellScript->*pHitHandlerScript)();
}
-SpellScript::OnCalcCritChanceHandler::OnCalcCritChanceHandler(SpellOnCalcCritChanceFnType onCalcCritChanceHandlerScript)
+SpellScript::OnCalcCritChanceHandler::OnCalcCritChanceHandler(SpellOnCalcCritChanceFnType onCalcCritChanceHandlerScript) : _onCalcCritChanceHandlerScript(
+ onCalcCritChanceHandlerScript)
{
- _onCalcCritChanceHandlerScript = onCalcCritChanceHandlerScript;
}
+SpellScript::OnCalcCritChanceHandler::OnCalcCritChanceHandler(OnCalcCritChanceHandler&& right) noexcept = default;
+SpellScript::OnCalcCritChanceHandler& SpellScript::OnCalcCritChanceHandler::operator=(OnCalcCritChanceHandler&& right) noexcept = default;
+SpellScript::OnCalcCritChanceHandler::~OnCalcCritChanceHandler() = default;
+
void SpellScript::OnCalcCritChanceHandler::Call(SpellScript* spellScript, Unit const* victim, float& critChance) const
{
(spellScript->*_onCalcCritChanceHandlerScript)(victim, critChance);
@@ -255,6 +304,10 @@ void SpellScript::OnCalcCritChanceHandler::Call(SpellScript* spellScript, Unit c
SpellScript::TargetHook::TargetHook(uint8 _effectIndex, uint16 _targetType, bool _area, bool _dest)
: _SpellScript::EffectHook(_effectIndex), targetType(_targetType), area(_area), dest(_dest) { }
+SpellScript::TargetHook::TargetHook(TargetHook&& right) noexcept = default;
+SpellScript::TargetHook& SpellScript::TargetHook::operator=(TargetHook&& right) noexcept = default;
+SpellScript::TargetHook::~TargetHook() = default;
+
std::string SpellScript::TargetHook::ToString() const
{
std::ostringstream oss;
@@ -317,33 +370,42 @@ bool SpellScript::TargetHook::CheckEffect(SpellInfo const* spellEntry, uint8 eff
}
SpellScript::ObjectAreaTargetSelectHandler::ObjectAreaTargetSelectHandler(SpellObjectAreaTargetSelectFnType _pObjectAreaTargetSelectHandlerScript, uint8 _effIndex, uint16 _targetType)
- : TargetHook(_effIndex, _targetType, true, false)
+ : TargetHook(_effIndex, _targetType, true, false), pObjectAreaTargetSelectHandlerScript(_pObjectAreaTargetSelectHandlerScript)
{
- pObjectAreaTargetSelectHandlerScript = _pObjectAreaTargetSelectHandlerScript;
}
+SpellScript::ObjectAreaTargetSelectHandler::ObjectAreaTargetSelectHandler(ObjectAreaTargetSelectHandler&& right) noexcept = default;
+SpellScript::ObjectAreaTargetSelectHandler& SpellScript::ObjectAreaTargetSelectHandler::operator=(ObjectAreaTargetSelectHandler&& right) noexcept = default;
+SpellScript::ObjectAreaTargetSelectHandler::~ObjectAreaTargetSelectHandler() = default;
+
void SpellScript::ObjectAreaTargetSelectHandler::Call(SpellScript* spellScript, std::list<WorldObject*>& targets)
{
(spellScript->*pObjectAreaTargetSelectHandlerScript)(targets);
}
SpellScript::ObjectTargetSelectHandler::ObjectTargetSelectHandler(SpellObjectTargetSelectFnType _pObjectTargetSelectHandlerScript, uint8 _effIndex, uint16 _targetType)
- : TargetHook(_effIndex, _targetType, false, false)
+ : TargetHook(_effIndex, _targetType, false, false), pObjectTargetSelectHandlerScript(_pObjectTargetSelectHandlerScript)
{
- pObjectTargetSelectHandlerScript = _pObjectTargetSelectHandlerScript;
}
+SpellScript::ObjectTargetSelectHandler::ObjectTargetSelectHandler(ObjectTargetSelectHandler&& right) noexcept = default;
+SpellScript::ObjectTargetSelectHandler& SpellScript::ObjectTargetSelectHandler::operator=(ObjectTargetSelectHandler&& right) noexcept = default;
+SpellScript::ObjectTargetSelectHandler::~ObjectTargetSelectHandler() = default;
+
void SpellScript::ObjectTargetSelectHandler::Call(SpellScript* spellScript, WorldObject*& target)
{
(spellScript->*pObjectTargetSelectHandlerScript)(target);
}
SpellScript::DestinationTargetSelectHandler::DestinationTargetSelectHandler(SpellDestinationTargetSelectFnType _DestinationTargetSelectHandlerScript, uint8 _effIndex, uint16 _targetType)
- : TargetHook(_effIndex, _targetType, false, true)
+ : TargetHook(_effIndex, _targetType, false, true), DestinationTargetSelectHandlerScript(_DestinationTargetSelectHandlerScript)
{
- DestinationTargetSelectHandlerScript = _DestinationTargetSelectHandlerScript;
}
+SpellScript::DestinationTargetSelectHandler::DestinationTargetSelectHandler(DestinationTargetSelectHandler&& right) noexcept = default;
+SpellScript::DestinationTargetSelectHandler& SpellScript::DestinationTargetSelectHandler::operator=(DestinationTargetSelectHandler&& right) noexcept = default;
+SpellScript::DestinationTargetSelectHandler::~DestinationTargetSelectHandler() = default;
+
void SpellScript::DestinationTargetSelectHandler::Call(SpellScript* spellScript, SpellDestination& target)
{
(spellScript->*DestinationTargetSelectHandlerScript)(target);
@@ -928,21 +990,27 @@ bool AuraScript::_Validate(SpellInfo const* entry)
return _SpellScript::_Validate(entry);
}
-AuraScript::CheckAreaTargetHandler::CheckAreaTargetHandler(AuraCheckAreaTargetFnType _pHandlerScript)
+AuraScript::CheckAreaTargetHandler::CheckAreaTargetHandler(AuraCheckAreaTargetFnType _pHandlerScript) : pHandlerScript(_pHandlerScript)
{
- pHandlerScript = _pHandlerScript;
}
+AuraScript::CheckAreaTargetHandler::CheckAreaTargetHandler(CheckAreaTargetHandler&& right) noexcept = default;
+AuraScript::CheckAreaTargetHandler& AuraScript::CheckAreaTargetHandler::operator=(CheckAreaTargetHandler&& right) noexcept = default;
+AuraScript::CheckAreaTargetHandler::~CheckAreaTargetHandler() = default;
+
bool AuraScript::CheckAreaTargetHandler::Call(AuraScript* auraScript, Unit* _target)
{
return (auraScript->*pHandlerScript)(_target);
}
-AuraScript::AuraDispelHandler::AuraDispelHandler(AuraDispelFnType _pHandlerScript)
+AuraScript::AuraDispelHandler::AuraDispelHandler(AuraDispelFnType _pHandlerScript) : pHandlerScript(_pHandlerScript)
{
- pHandlerScript = _pHandlerScript;
}
+AuraScript::AuraDispelHandler::AuraDispelHandler(AuraDispelHandler&& right) noexcept = default;
+AuraScript::AuraDispelHandler& AuraScript::AuraDispelHandler::operator=(AuraDispelHandler&& right) noexcept = default;
+AuraScript::AuraDispelHandler::~AuraDispelHandler() = default;
+
void AuraScript::AuraDispelHandler::Call(AuraScript* auraScript, DispelInfo* _dispelInfo)
{
(auraScript->*pHandlerScript)(_dispelInfo);
@@ -951,6 +1019,10 @@ void AuraScript::AuraDispelHandler::Call(AuraScript* auraScript, DispelInfo* _di
AuraScript::EffectBase::EffectBase(uint8 _effIndex, uint16 _effName)
: _SpellScript::EffectAuraNameCheck(_effName), _SpellScript::EffectHook(_effIndex) { }
+AuraScript::EffectBase::EffectBase(EffectBase&& right) noexcept = default;
+AuraScript::EffectBase& AuraScript::EffectBase::operator=(EffectBase&& right) noexcept = default;
+AuraScript::EffectBase::~EffectBase() = default;
+
bool AuraScript::EffectBase::CheckEffect(SpellInfo const* spellEntry, uint8 effIndexToCheck) const
{
return _SpellScript::EffectAuraNameCheck::Check(spellEntry, effIndexToCheck);
@@ -962,78 +1034,98 @@ std::string AuraScript::EffectBase::ToString() const
}
AuraScript::EffectPeriodicHandler::EffectPeriodicHandler(AuraEffectPeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName)
- : AuraScript::EffectBase(_effIndex, _effName)
+ : AuraScript::EffectBase(_effIndex, _effName), pEffectHandlerScript(_pEffectHandlerScript)
{
- pEffectHandlerScript = _pEffectHandlerScript;
}
+AuraScript::EffectPeriodicHandler::EffectPeriodicHandler(EffectPeriodicHandler&& right) noexcept = default;
+AuraScript::EffectPeriodicHandler& AuraScript::EffectPeriodicHandler::operator=(EffectPeriodicHandler&& right) noexcept = default;
+AuraScript::EffectPeriodicHandler::~EffectPeriodicHandler() = default;
+
void AuraScript::EffectPeriodicHandler::Call(AuraScript* auraScript, AuraEffect const* _aurEff)
{
(auraScript->*pEffectHandlerScript)(_aurEff);
}
AuraScript::EffectUpdatePeriodicHandler::EffectUpdatePeriodicHandler(AuraEffectUpdatePeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName)
- : AuraScript::EffectBase(_effIndex, _effName)
+ : AuraScript::EffectBase(_effIndex, _effName), pEffectHandlerScript(_pEffectHandlerScript)
{
- pEffectHandlerScript = _pEffectHandlerScript;
}
+AuraScript::EffectUpdatePeriodicHandler::EffectUpdatePeriodicHandler(EffectUpdatePeriodicHandler&& right) noexcept = default;
+AuraScript::EffectUpdatePeriodicHandler& AuraScript::EffectUpdatePeriodicHandler::operator=(EffectUpdatePeriodicHandler&& right) noexcept = default;
+AuraScript::EffectUpdatePeriodicHandler::~EffectUpdatePeriodicHandler() = default;
+
void AuraScript::EffectUpdatePeriodicHandler::Call(AuraScript* auraScript, AuraEffect* aurEff)
{
(auraScript->*pEffectHandlerScript)(aurEff);
}
AuraScript::EffectCalcAmountHandler::EffectCalcAmountHandler(AuraEffectCalcAmountFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName)
- : AuraScript::EffectBase(_effIndex, _effName)
+ : AuraScript::EffectBase(_effIndex, _effName), pEffectHandlerScript(_pEffectHandlerScript)
{
- pEffectHandlerScript = _pEffectHandlerScript;
}
+AuraScript::EffectCalcAmountHandler::EffectCalcAmountHandler(EffectCalcAmountHandler&& right) noexcept = default;
+AuraScript::EffectCalcAmountHandler& AuraScript::EffectCalcAmountHandler::operator=(EffectCalcAmountHandler&& right) noexcept = default;
+AuraScript::EffectCalcAmountHandler::~EffectCalcAmountHandler() = default;
+
void AuraScript::EffectCalcAmountHandler::Call(AuraScript* auraScript, AuraEffect const* aurEff, int32& amount, bool& canBeRecalculated)
{
(auraScript->*pEffectHandlerScript)(aurEff, amount, canBeRecalculated);
}
AuraScript::EffectCalcPeriodicHandler::EffectCalcPeriodicHandler(AuraEffectCalcPeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName)
- : AuraScript::EffectBase(_effIndex, _effName)
+ : AuraScript::EffectBase(_effIndex, _effName), pEffectHandlerScript(_pEffectHandlerScript)
{
- pEffectHandlerScript = _pEffectHandlerScript;
}
+AuraScript::EffectCalcPeriodicHandler::EffectCalcPeriodicHandler(EffectCalcPeriodicHandler&& right) noexcept = default;
+AuraScript::EffectCalcPeriodicHandler& AuraScript::EffectCalcPeriodicHandler::operator=(EffectCalcPeriodicHandler&& right) noexcept = default;
+AuraScript::EffectCalcPeriodicHandler::~EffectCalcPeriodicHandler() = default;
+
void AuraScript::EffectCalcPeriodicHandler::Call(AuraScript* auraScript, AuraEffect const* aurEff, bool& isPeriodic, int32& periodicTimer)
{
(auraScript->*pEffectHandlerScript)(aurEff, isPeriodic, periodicTimer);
}
AuraScript::EffectCalcSpellModHandler::EffectCalcSpellModHandler(AuraEffectCalcSpellModFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName)
- : AuraScript::EffectBase(_effIndex, _effName)
+ : AuraScript::EffectBase(_effIndex, _effName), pEffectHandlerScript(_pEffectHandlerScript)
{
- pEffectHandlerScript = _pEffectHandlerScript;
}
+AuraScript::EffectCalcSpellModHandler::EffectCalcSpellModHandler(EffectCalcSpellModHandler&& right) noexcept = default;
+AuraScript::EffectCalcSpellModHandler& AuraScript::EffectCalcSpellModHandler::operator=(EffectCalcSpellModHandler&& right) noexcept = default;
+AuraScript::EffectCalcSpellModHandler::~EffectCalcSpellModHandler() = default;
+
void AuraScript::EffectCalcSpellModHandler::Call(AuraScript* auraScript, AuraEffect const* aurEff, SpellModifier*& spellMod)
{
(auraScript->*pEffectHandlerScript)(aurEff, spellMod);
}
AuraScript::EffectCalcCritChanceHandler::EffectCalcCritChanceHandler(AuraEffectCalcCritChanceFnType effectHandlerScript, uint8 effIndex, uint16 effName)
- : AuraScript::EffectBase(effIndex, effName)
+ : AuraScript::EffectBase(effIndex, effName), _effectHandlerScript(effectHandlerScript)
{
- _effectHandlerScript = effectHandlerScript;
}
+AuraScript::EffectCalcCritChanceHandler::EffectCalcCritChanceHandler(EffectCalcCritChanceHandler&& right) noexcept = default;
+AuraScript::EffectCalcCritChanceHandler& AuraScript::EffectCalcCritChanceHandler::operator=(EffectCalcCritChanceHandler&& right) noexcept = default;
+AuraScript::EffectCalcCritChanceHandler::~EffectCalcCritChanceHandler() = default;
+
void AuraScript::EffectCalcCritChanceHandler::Call(AuraScript* auraScript, AuraEffect const* aurEff, Unit const* victim, float& critChance) const
{
(auraScript->*_effectHandlerScript)(aurEff, victim, critChance);
}
AuraScript::EffectApplyHandler::EffectApplyHandler(AuraEffectApplicationModeFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName, AuraEffectHandleModes _mode)
- : AuraScript::EffectBase(_effIndex, _effName)
+ : AuraScript::EffectBase(_effIndex, _effName), pEffectHandlerScript(_pEffectHandlerScript), mode(_mode)
{
- pEffectHandlerScript = _pEffectHandlerScript;
- mode = _mode;
}
+AuraScript::EffectApplyHandler::EffectApplyHandler(EffectApplyHandler&& right) noexcept = default;
+AuraScript::EffectApplyHandler& AuraScript::EffectApplyHandler::operator=(EffectApplyHandler&& right) noexcept = default;
+AuraScript::EffectApplyHandler::~EffectApplyHandler() = default;
+
void AuraScript::EffectApplyHandler::Call(AuraScript* auraScript, AuraEffect const* _aurEff, AuraEffectHandleModes _mode)
{
if (_mode & mode)
@@ -1041,85 +1133,109 @@ void AuraScript::EffectApplyHandler::Call(AuraScript* auraScript, AuraEffect con
}
AuraScript::EffectAbsorbHandler::EffectAbsorbHandler(AuraEffectAbsorbFnType _pEffectHandlerScript, uint8 _effIndex, bool overKill)
- : AuraScript::EffectBase(_effIndex, overKill ? SPELL_AURA_SCHOOL_ABSORB_OVERKILL : SPELL_AURA_SCHOOL_ABSORB)
+ : AuraScript::EffectBase(_effIndex, overKill ? SPELL_AURA_SCHOOL_ABSORB_OVERKILL : SPELL_AURA_SCHOOL_ABSORB), pEffectHandlerScript(_pEffectHandlerScript)
{
- pEffectHandlerScript = _pEffectHandlerScript;
}
+AuraScript::EffectAbsorbHandler::EffectAbsorbHandler(EffectAbsorbHandler&& right) noexcept = default;
+AuraScript::EffectAbsorbHandler& AuraScript::EffectAbsorbHandler::operator=(EffectAbsorbHandler&& right) noexcept = default;
+AuraScript::EffectAbsorbHandler::~EffectAbsorbHandler() = default;
+
void AuraScript::EffectAbsorbHandler::Call(AuraScript* auraScript, AuraEffect* aurEff, DamageInfo& dmgInfo, uint32& absorbAmount)
{
(auraScript->*pEffectHandlerScript)(aurEff, dmgInfo, absorbAmount);
}
AuraScript::EffectManaShieldHandler::EffectManaShieldHandler(AuraEffectAbsorbFnType _pEffectHandlerScript, uint8 _effIndex)
- : AuraScript::EffectBase(_effIndex, SPELL_AURA_MANA_SHIELD)
+ : AuraScript::EffectBase(_effIndex, SPELL_AURA_MANA_SHIELD), pEffectHandlerScript(_pEffectHandlerScript)
{
- pEffectHandlerScript = _pEffectHandlerScript;
}
+AuraScript::EffectManaShieldHandler::EffectManaShieldHandler(EffectManaShieldHandler&& right) noexcept = default;
+AuraScript::EffectManaShieldHandler& AuraScript::EffectManaShieldHandler::operator=(EffectManaShieldHandler&& right) noexcept = default;
+AuraScript::EffectManaShieldHandler::~EffectManaShieldHandler() = default;
+
void AuraScript::EffectManaShieldHandler::Call(AuraScript* auraScript, AuraEffect* aurEff, DamageInfo& dmgInfo, uint32& absorbAmount)
{
(auraScript->*pEffectHandlerScript)(aurEff, dmgInfo, absorbAmount);
}
AuraScript::EffectSplitHandler::EffectSplitHandler(AuraEffectSplitFnType _pEffectHandlerScript, uint8 _effIndex)
- : AuraScript::EffectBase(_effIndex, SPELL_AURA_SPLIT_DAMAGE_PCT)
+ : AuraScript::EffectBase(_effIndex, SPELL_AURA_SPLIT_DAMAGE_PCT), pEffectHandlerScript(_pEffectHandlerScript)
{
- pEffectHandlerScript = _pEffectHandlerScript;
}
+AuraScript::EffectSplitHandler::EffectSplitHandler(EffectSplitHandler&& right) noexcept = default;
+AuraScript::EffectSplitHandler& AuraScript::EffectSplitHandler::operator=(EffectSplitHandler&& right) noexcept = default;
+AuraScript::EffectSplitHandler::~EffectSplitHandler() = default;
+
void AuraScript::EffectSplitHandler::Call(AuraScript* auraScript, AuraEffect* aurEff, DamageInfo& dmgInfo, uint32& splitAmount)
{
(auraScript->*pEffectHandlerScript)(aurEff, dmgInfo, splitAmount);
}
-AuraScript::CheckProcHandler::CheckProcHandler(AuraCheckProcFnType handlerScript)
+AuraScript::CheckProcHandler::CheckProcHandler(AuraCheckProcFnType handlerScript) : _HandlerScript(handlerScript)
{
- _HandlerScript = handlerScript;
}
+AuraScript::CheckProcHandler::CheckProcHandler(CheckProcHandler&& right) noexcept = default;
+AuraScript::CheckProcHandler& AuraScript::CheckProcHandler::operator=(CheckProcHandler&& right) noexcept = default;
+AuraScript::CheckProcHandler::~CheckProcHandler() = default;
+
bool AuraScript::CheckProcHandler::Call(AuraScript* auraScript, ProcEventInfo& eventInfo)
{
return (auraScript->*_HandlerScript)(eventInfo);
}
AuraScript::CheckEffectProcHandler::CheckEffectProcHandler(AuraCheckEffectProcFnType handlerScript, uint8 effIndex, uint16 effName)
- : AuraScript::EffectBase(effIndex, effName)
+ : AuraScript::EffectBase(effIndex, effName), _HandlerScript(handlerScript)
{
- _HandlerScript = handlerScript;
}
+AuraScript::CheckEffectProcHandler::CheckEffectProcHandler(CheckEffectProcHandler&& right) noexcept = default;
+AuraScript::CheckEffectProcHandler& AuraScript::CheckEffectProcHandler::operator=(CheckEffectProcHandler&& right) noexcept = default;
+AuraScript::CheckEffectProcHandler::~CheckEffectProcHandler() = default;
+
bool AuraScript::CheckEffectProcHandler::Call(AuraScript* auraScript, AuraEffect const* aurEff, ProcEventInfo& eventInfo)
{
return (auraScript->*_HandlerScript)(aurEff, eventInfo);
}
-AuraScript::AuraProcHandler::AuraProcHandler(AuraProcFnType handlerScript)
+AuraScript::AuraProcHandler::AuraProcHandler(AuraProcFnType handlerScript) : _HandlerScript(handlerScript)
{
- _HandlerScript = handlerScript;
}
+AuraScript::AuraProcHandler::AuraProcHandler(AuraProcHandler&& right) noexcept = default;
+AuraScript::AuraProcHandler& AuraScript::AuraProcHandler::operator=(AuraProcHandler&& right) noexcept = default;
+AuraScript::AuraProcHandler::~AuraProcHandler() = default;
+
void AuraScript::AuraProcHandler::Call(AuraScript* auraScript, ProcEventInfo& eventInfo)
{
(auraScript->*_HandlerScript)(eventInfo);
}
AuraScript::EffectProcHandler::EffectProcHandler(AuraEffectProcFnType effectHandlerScript, uint8 effIndex, uint16 effName)
- : AuraScript::EffectBase(effIndex, effName)
+ : AuraScript::EffectBase(effIndex, effName), _EffectHandlerScript(effectHandlerScript)
{
- _EffectHandlerScript = effectHandlerScript;
}
+AuraScript::EffectProcHandler::EffectProcHandler(EffectProcHandler&& right) noexcept = default;
+AuraScript::EffectProcHandler& AuraScript::EffectProcHandler::operator=(EffectProcHandler&& right) noexcept = default;
+AuraScript::EffectProcHandler::~EffectProcHandler() = default;
+
void AuraScript::EffectProcHandler::Call(AuraScript* auraScript, AuraEffect* aurEff, ProcEventInfo& eventInfo)
{
(auraScript->*_EffectHandlerScript)(aurEff, eventInfo);
}
-AuraScript::EnterLeaveCombatHandler::EnterLeaveCombatHandler(AuraEnterLeaveCombatFnType handlerScript)
+AuraScript::EnterLeaveCombatHandler::EnterLeaveCombatHandler(AuraEnterLeaveCombatFnType handlerScript) : _handlerScript(handlerScript)
{
- _handlerScript = handlerScript;
}
+AuraScript::EnterLeaveCombatHandler::EnterLeaveCombatHandler(EnterLeaveCombatHandler&& right) noexcept = default;
+AuraScript::EnterLeaveCombatHandler& AuraScript::EnterLeaveCombatHandler::operator=(EnterLeaveCombatHandler&& right) noexcept = default;
+AuraScript::EnterLeaveCombatHandler::~EnterLeaveCombatHandler() = default;
+
void AuraScript::EnterLeaveCombatHandler::Call(AuraScript* auraScript, bool isNowInCombat) const
{
(auraScript->*_handlerScript)(isNowInCombat);
diff --git a/src/server/game/Spells/SpellScript.h b/src/server/game/Spells/SpellScript.h
index ebb5addd9c0..66521681d99 100644
--- a/src/server/game/Spells/SpellScript.h
+++ b/src/server/game/Spells/SpellScript.h
@@ -72,19 +72,28 @@ class TC_GAME_API _SpellScript
virtual bool _Validate(SpellInfo const* entry);
public:
- _SpellScript() : m_currentScriptState(SPELL_SCRIPT_STATE_NONE), m_scriptName(nullptr), m_scriptSpellId(0) {}
- virtual ~_SpellScript() { }
+ _SpellScript();
+ virtual ~_SpellScript();
void _Register();
void _Unload();
void _Init(std::string const* scriptname, uint32 spellId);
std::string const* _GetScriptName() const;
+ _SpellScript(_SpellScript const& right) = delete;
+ _SpellScript(_SpellScript&& right) = delete;
+ _SpellScript& operator=(_SpellScript const& right) = delete;
+ _SpellScript& operator=(_SpellScript&& right) = delete;
+
protected:
class TC_GAME_API EffectHook
{
public:
EffectHook(uint8 _effIndex);
- virtual ~EffectHook() { }
+ EffectHook(EffectHook const& right) = delete;
+ EffectHook(EffectHook&& right) noexcept;
+ EffectHook& operator=(EffectHook const& right) = delete;
+ EffectHook& operator=(EffectHook&& right) noexcept;
+ virtual ~EffectHook();
uint32 GetAffectedEffectsMask(SpellInfo const* spellInfo) const;
bool IsEffectAffected(SpellInfo const* spellInfo, uint8 effIndex) const;
@@ -97,7 +106,12 @@ class TC_GAME_API _SpellScript
class TC_GAME_API EffectNameCheck
{
public:
- EffectNameCheck(uint16 _effName) { effName = _effName; }
+ EffectNameCheck(uint16 _effName);
+ EffectNameCheck(EffectNameCheck const& right) = delete;
+ EffectNameCheck(EffectNameCheck&& right) noexcept;
+ EffectNameCheck& operator=(EffectNameCheck const& right) = delete;
+ EffectNameCheck& operator=(EffectNameCheck&& right) noexcept;
+ virtual ~EffectNameCheck();
bool Check(SpellInfo const* spellInfo, uint8 effIndex) const;
std::string ToString() const;
private:
@@ -107,7 +121,12 @@ class TC_GAME_API _SpellScript
class TC_GAME_API EffectAuraNameCheck
{
public:
- EffectAuraNameCheck(uint16 _effAurName) { effAurName = _effAurName; }
+ EffectAuraNameCheck(uint16 _effAurName);
+ EffectAuraNameCheck(EffectAuraNameCheck const& right) = delete;
+ EffectAuraNameCheck(EffectAuraNameCheck&& right) noexcept;
+ EffectAuraNameCheck& operator=(EffectAuraNameCheck const& right) = delete;
+ EffectAuraNameCheck& operator=(EffectAuraNameCheck&& right) noexcept;
+ virtual ~EffectAuraNameCheck();
bool Check(SpellInfo const* spellInfo, uint8 effIndex) const;
std::string ToString() const;
private:
@@ -222,6 +241,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
CastHandler(SpellCastFnType _pCastHandlerScript);
+ CastHandler(CastHandler const& right) = delete;
+ CastHandler(CastHandler&& right) noexcept;
+ CastHandler& operator=(CastHandler const& right) = delete;
+ CastHandler& operator=(CastHandler&& right) noexcept;
+ virtual ~CastHandler();
void Call(SpellScript* spellScript);
private:
SpellCastFnType pCastHandlerScript;
@@ -231,6 +255,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
CheckCastHandler(SpellCheckCastFnType checkCastHandlerScript);
+ CheckCastHandler(CheckCastHandler const& right) = delete;
+ CheckCastHandler(CheckCastHandler&& right) noexcept;
+ CheckCastHandler& operator=(CheckCastHandler const& right) = delete;
+ CheckCastHandler& operator=(CheckCastHandler&& right) noexcept;
+ virtual ~CheckCastHandler();
SpellCastResult Call(SpellScript* spellScript);
private:
SpellCheckCastFnType _checkCastHandlerScript;
@@ -240,6 +269,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
EffectHandler(SpellEffectFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName);
+ EffectHandler(EffectHandler const& right) = delete;
+ EffectHandler(EffectHandler&& right) noexcept;
+ EffectHandler& operator=(EffectHandler const& right) = delete;
+ EffectHandler& operator=(EffectHandler&& right) noexcept;
+ virtual ~EffectHandler();
std::string ToString() const;
bool CheckEffect(SpellInfo const* spellInfo, uint8 effIndex) const override;
void Call(SpellScript* spellScript, SpellEffIndex effIndex);
@@ -251,6 +285,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
HitHandler(SpellHitFnType _pHitHandlerScript);
+ HitHandler(HitHandler const& right) = delete;
+ HitHandler(HitHandler&& right) noexcept;
+ HitHandler& operator=(HitHandler const& right) = delete;
+ HitHandler& operator=(HitHandler&& right) noexcept;
+ virtual ~HitHandler();
void Call(SpellScript* spellScript);
private:
SpellHitFnType pHitHandlerScript;
@@ -260,6 +299,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
BeforeHitHandler(SpellBeforeHitFnType pBeforeHitHandlerScript);
+ BeforeHitHandler(BeforeHitHandler const& right) = delete;
+ BeforeHitHandler(BeforeHitHandler&& right) noexcept;
+ BeforeHitHandler& operator=(BeforeHitHandler const& right) = delete;
+ BeforeHitHandler& operator=(BeforeHitHandler&& right) noexcept;
+ virtual ~BeforeHitHandler();
void Call(SpellScript* spellScript, SpellMissInfo missInfo);
private:
SpellBeforeHitFnType _pBeforeHitHandlerScript;
@@ -269,6 +313,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
OnCalcCritChanceHandler(SpellOnCalcCritChanceFnType onCalcCritChanceHandlerScript);
+ OnCalcCritChanceHandler(OnCalcCritChanceHandler const& right) = delete;
+ OnCalcCritChanceHandler(OnCalcCritChanceHandler&& right) noexcept;
+ OnCalcCritChanceHandler& operator=(OnCalcCritChanceHandler const& right) = delete;
+ OnCalcCritChanceHandler& operator=(OnCalcCritChanceHandler&& right) noexcept;
+ virtual ~OnCalcCritChanceHandler();
void Call(SpellScript* spellScript, Unit const* victim, float& critChance) const;
private:
SpellOnCalcCritChanceFnType _onCalcCritChanceHandlerScript;
@@ -278,6 +327,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
TargetHook(uint8 _effectIndex, uint16 _targetType, bool _area, bool _dest);
+ TargetHook(TargetHook const& right) = delete;
+ TargetHook(TargetHook&& right) noexcept;
+ TargetHook& operator=(TargetHook const& right) = delete;
+ TargetHook& operator=(TargetHook&& right) noexcept;
+ virtual ~TargetHook();
bool CheckEffect(SpellInfo const* spellInfo, uint8 effIndex) const override;
std::string ToString() const;
uint16 GetTarget() const { return targetType; }
@@ -291,6 +345,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
ObjectAreaTargetSelectHandler(SpellObjectAreaTargetSelectFnType _pObjectAreaTargetSelectHandlerScript, uint8 _effIndex, uint16 _targetType);
+ ObjectAreaTargetSelectHandler(ObjectAreaTargetSelectHandler const& right) = delete;
+ ObjectAreaTargetSelectHandler(ObjectAreaTargetSelectHandler&& right) noexcept;
+ ObjectAreaTargetSelectHandler& operator=(ObjectAreaTargetSelectHandler const& right) = delete;
+ ObjectAreaTargetSelectHandler& operator=(ObjectAreaTargetSelectHandler&& right) noexcept;
+ virtual ~ObjectAreaTargetSelectHandler();
void Call(SpellScript* spellScript, std::list<WorldObject*>& targets);
private:
SpellObjectAreaTargetSelectFnType pObjectAreaTargetSelectHandlerScript;
@@ -300,6 +359,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
ObjectTargetSelectHandler(SpellObjectTargetSelectFnType _pObjectTargetSelectHandlerScript, uint8 _effIndex, uint16 _targetType);
+ ObjectTargetSelectHandler(ObjectTargetSelectHandler const& right) = delete;
+ ObjectTargetSelectHandler(ObjectTargetSelectHandler&& right) noexcept;
+ ObjectTargetSelectHandler& operator=(ObjectTargetSelectHandler const& right) = delete;
+ ObjectTargetSelectHandler& operator=(ObjectTargetSelectHandler&& right) noexcept;
+ virtual ~ObjectTargetSelectHandler();
void Call(SpellScript* spellScript, WorldObject*& target);
private:
SpellObjectTargetSelectFnType pObjectTargetSelectHandlerScript;
@@ -309,6 +373,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
DestinationTargetSelectHandler(SpellDestinationTargetSelectFnType _DestinationTargetSelectHandlerScript, uint8 _effIndex, uint16 _targetType);
+ DestinationTargetSelectHandler(DestinationTargetSelectHandler const& right) = delete;
+ DestinationTargetSelectHandler(DestinationTargetSelectHandler&& right) noexcept;
+ DestinationTargetSelectHandler& operator=(DestinationTargetSelectHandler const& right) = delete;
+ DestinationTargetSelectHandler& operator=(DestinationTargetSelectHandler&& right) noexcept;
+ virtual ~DestinationTargetSelectHandler();
void Call(SpellScript* spellScript, SpellDestination& target);
private:
SpellDestinationTargetSelectFnType DestinationTargetSelectHandlerScript;
@@ -318,6 +387,11 @@ class TC_GAME_API SpellScript : public _SpellScript
{
public:
OnCalculateResistAbsorbHandler(SpellOnResistAbsorbCalculateFnType _pOnCalculateResistAbsorbHandlerScript);
+ OnCalculateResistAbsorbHandler(OnCalculateResistAbsorbHandler const& right) = delete;
+ OnCalculateResistAbsorbHandler(OnCalculateResistAbsorbHandler&& right) noexcept;
+ OnCalculateResistAbsorbHandler& operator=(OnCalculateResistAbsorbHandler const& right) = delete;
+ OnCalculateResistAbsorbHandler& operator=(OnCalculateResistAbsorbHandler&& right) noexcept;
+ virtual ~OnCalculateResistAbsorbHandler();
void Call(SpellScript* spellScript, DamageInfo const& damageInfo, uint32& resistAmount, int32& absorbAmount);
private:
SpellOnResistAbsorbCalculateFnType pOnCalculateResistAbsorbHandlerScript;
@@ -624,6 +698,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
CheckAreaTargetHandler(AuraCheckAreaTargetFnType pHandlerScript);
+ CheckAreaTargetHandler(CheckAreaTargetHandler const& right) = delete;
+ CheckAreaTargetHandler(CheckAreaTargetHandler&& right) noexcept;
+ CheckAreaTargetHandler& operator=(CheckAreaTargetHandler const& right) = delete;
+ CheckAreaTargetHandler& operator=(CheckAreaTargetHandler&& right) noexcept;
+ virtual ~CheckAreaTargetHandler();
bool Call(AuraScript* auraScript, Unit* target);
private:
AuraCheckAreaTargetFnType pHandlerScript;
@@ -632,6 +711,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
AuraDispelHandler(AuraDispelFnType pHandlerScript);
+ AuraDispelHandler(AuraDispelHandler const& right) = delete;
+ AuraDispelHandler(AuraDispelHandler&& right) noexcept;
+ AuraDispelHandler& operator=(AuraDispelHandler const& right) = delete;
+ AuraDispelHandler& operator=(AuraDispelHandler&& right) noexcept;
+ virtual ~AuraDispelHandler();
void Call(AuraScript* auraScript, DispelInfo* dispelInfo);
private:
AuraDispelFnType pHandlerScript;
@@ -640,6 +724,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectBase(uint8 _effIndex, uint16 _effName);
+ EffectBase(EffectBase const& right) = delete;
+ EffectBase(EffectBase&& right) noexcept;
+ EffectBase& operator=(EffectBase const& right) = delete;
+ EffectBase& operator=(EffectBase&& right) noexcept;
+ virtual ~EffectBase();
std::string ToString() const;
bool CheckEffect(SpellInfo const* spellInfo, uint8 effIndex) const override;
};
@@ -647,6 +736,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectPeriodicHandler(AuraEffectPeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName);
+ EffectPeriodicHandler(EffectPeriodicHandler const& right) = delete;
+ EffectPeriodicHandler(EffectPeriodicHandler&& right) noexcept;
+ EffectPeriodicHandler& operator=(EffectPeriodicHandler const& right) = delete;
+ EffectPeriodicHandler& operator=(EffectPeriodicHandler&& right) noexcept;
+ virtual ~EffectPeriodicHandler();
void Call(AuraScript* auraScript, AuraEffect const* _aurEff);
private:
AuraEffectPeriodicFnType pEffectHandlerScript;
@@ -655,6 +749,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectUpdatePeriodicHandler(AuraEffectUpdatePeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName);
+ EffectUpdatePeriodicHandler(EffectUpdatePeriodicHandler const& right) = delete;
+ EffectUpdatePeriodicHandler(EffectUpdatePeriodicHandler&& right) noexcept;
+ EffectUpdatePeriodicHandler& operator=(EffectUpdatePeriodicHandler const& right) = delete;
+ EffectUpdatePeriodicHandler& operator=(EffectUpdatePeriodicHandler&& right) noexcept;
+ virtual ~EffectUpdatePeriodicHandler();
void Call(AuraScript* auraScript, AuraEffect* aurEff);
private:
AuraEffectUpdatePeriodicFnType pEffectHandlerScript;
@@ -663,6 +762,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectCalcAmountHandler(AuraEffectCalcAmountFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName);
+ EffectCalcAmountHandler(EffectCalcAmountHandler const& right) = delete;
+ EffectCalcAmountHandler(EffectCalcAmountHandler&& right) noexcept;
+ EffectCalcAmountHandler& operator=(EffectCalcAmountHandler const& right) = delete;
+ EffectCalcAmountHandler& operator=(EffectCalcAmountHandler&& right) noexcept;
+ virtual ~EffectCalcAmountHandler();
void Call(AuraScript* auraScript, AuraEffect const* aurEff, int32 & amount, bool & canBeRecalculated);
private:
AuraEffectCalcAmountFnType pEffectHandlerScript;
@@ -671,6 +775,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectCalcPeriodicHandler(AuraEffectCalcPeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName);
+ EffectCalcPeriodicHandler(EffectCalcPeriodicHandler const& right) = delete;
+ EffectCalcPeriodicHandler(EffectCalcPeriodicHandler&& right) noexcept;
+ EffectCalcPeriodicHandler& operator=(EffectCalcPeriodicHandler const& right) = delete;
+ EffectCalcPeriodicHandler& operator=(EffectCalcPeriodicHandler&& right) noexcept;
+ virtual ~EffectCalcPeriodicHandler();
void Call(AuraScript* auraScript, AuraEffect const* aurEff, bool & isPeriodic, int32 & periodicTimer);
private:
AuraEffectCalcPeriodicFnType pEffectHandlerScript;
@@ -679,6 +788,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectCalcSpellModHandler(AuraEffectCalcSpellModFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName);
+ EffectCalcSpellModHandler(EffectCalcSpellModHandler const& right) = delete;
+ EffectCalcSpellModHandler(EffectCalcSpellModHandler&& right) noexcept;
+ EffectCalcSpellModHandler& operator=(EffectCalcSpellModHandler const& right) = delete;
+ EffectCalcSpellModHandler& operator=(EffectCalcSpellModHandler&& right) noexcept;
+ virtual ~EffectCalcSpellModHandler();
void Call(AuraScript* auraScript, AuraEffect const* aurEff, SpellModifier* & spellMod);
private:
AuraEffectCalcSpellModFnType pEffectHandlerScript;
@@ -687,6 +801,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectCalcCritChanceHandler(AuraEffectCalcCritChanceFnType effectHandlerScript, uint8 effIndex, uint16 effName);
+ EffectCalcCritChanceHandler(EffectCalcCritChanceHandler const& right) = delete;
+ EffectCalcCritChanceHandler(EffectCalcCritChanceHandler&& right) noexcept;
+ EffectCalcCritChanceHandler& operator=(EffectCalcCritChanceHandler const& right) = delete;
+ EffectCalcCritChanceHandler& operator=(EffectCalcCritChanceHandler&& right) noexcept;
+ virtual ~EffectCalcCritChanceHandler();
void Call(AuraScript* auraScript, AuraEffect const* aurEff, Unit const* victim, float& critChance) const;
private:
AuraEffectCalcCritChanceFnType _effectHandlerScript;
@@ -695,6 +814,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectApplyHandler(AuraEffectApplicationModeFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName, AuraEffectHandleModes _mode);
+ EffectApplyHandler(EffectApplyHandler const& right) = delete;
+ EffectApplyHandler(EffectApplyHandler&& right) noexcept;
+ EffectApplyHandler& operator=(EffectApplyHandler const& right) = delete;
+ EffectApplyHandler& operator=(EffectApplyHandler&& right) noexcept;
+ virtual ~EffectApplyHandler();
void Call(AuraScript* auraScript, AuraEffect const* _aurEff, AuraEffectHandleModes _mode);
private:
AuraEffectApplicationModeFnType pEffectHandlerScript;
@@ -704,6 +828,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectAbsorbHandler(AuraEffectAbsorbFnType _pEffectHandlerScript, uint8 _effIndex, bool overKill);
+ EffectAbsorbHandler(EffectAbsorbHandler const& right) = delete;
+ EffectAbsorbHandler(EffectAbsorbHandler&& right) noexcept;
+ EffectAbsorbHandler& operator=(EffectAbsorbHandler const& right) = delete;
+ EffectAbsorbHandler& operator=(EffectAbsorbHandler&& right) noexcept;
+ virtual ~EffectAbsorbHandler();
void Call(AuraScript* auraScript, AuraEffect* aurEff, DamageInfo & dmgInfo, uint32 & absorbAmount);
private:
AuraEffectAbsorbFnType pEffectHandlerScript;
@@ -712,6 +841,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectManaShieldHandler(AuraEffectAbsorbFnType _pEffectHandlerScript, uint8 _effIndex);
+ EffectManaShieldHandler(EffectManaShieldHandler const& right) = delete;
+ EffectManaShieldHandler(EffectManaShieldHandler&& right) noexcept;
+ EffectManaShieldHandler& operator=(EffectManaShieldHandler const& right) = delete;
+ EffectManaShieldHandler& operator=(EffectManaShieldHandler&& right) noexcept;
+ virtual ~EffectManaShieldHandler();
void Call(AuraScript* auraScript, AuraEffect* aurEff, DamageInfo & dmgInfo, uint32 & absorbAmount);
private:
AuraEffectAbsorbFnType pEffectHandlerScript;
@@ -720,6 +854,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectSplitHandler(AuraEffectSplitFnType _pEffectHandlerScript, uint8 _effIndex);
+ EffectSplitHandler(EffectSplitHandler const& right) = delete;
+ EffectSplitHandler(EffectSplitHandler&& right) noexcept;
+ EffectSplitHandler& operator=(EffectSplitHandler const& right) = delete;
+ EffectSplitHandler& operator=(EffectSplitHandler&& right) noexcept;
+ virtual ~EffectSplitHandler();
void Call(AuraScript* auraScript, AuraEffect* aurEff, DamageInfo & dmgInfo, uint32 & splitAmount);
private:
AuraEffectSplitFnType pEffectHandlerScript;
@@ -728,6 +867,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
CheckProcHandler(AuraCheckProcFnType handlerScript);
+ CheckProcHandler(CheckProcHandler const& right) = delete;
+ CheckProcHandler(CheckProcHandler&& right) noexcept;
+ CheckProcHandler& operator=(CheckProcHandler const& right) = delete;
+ CheckProcHandler& operator=(CheckProcHandler&& right) noexcept;
+ virtual ~CheckProcHandler();
bool Call(AuraScript* auraScript, ProcEventInfo& eventInfo);
private:
AuraCheckProcFnType _HandlerScript;
@@ -736,6 +880,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
CheckEffectProcHandler(AuraCheckEffectProcFnType handlerScript, uint8 effIndex, uint16 effName);
+ CheckEffectProcHandler(CheckEffectProcHandler const& right) = delete;
+ CheckEffectProcHandler(CheckEffectProcHandler&& right) noexcept;
+ CheckEffectProcHandler& operator=(CheckEffectProcHandler const& right) = delete;
+ CheckEffectProcHandler& operator=(CheckEffectProcHandler&& right) noexcept;
+ virtual ~CheckEffectProcHandler();
bool Call(AuraScript* auraScript, AuraEffect const* aurEff, ProcEventInfo& eventInfo);
private:
AuraCheckEffectProcFnType _HandlerScript;
@@ -744,6 +893,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
AuraProcHandler(AuraProcFnType handlerScript);
+ AuraProcHandler(AuraProcHandler const& right) = delete;
+ AuraProcHandler(AuraProcHandler&& right) noexcept;
+ AuraProcHandler& operator=(AuraProcHandler const& right) = delete;
+ AuraProcHandler& operator=(AuraProcHandler&& right) noexcept;
+ virtual ~AuraProcHandler();
void Call(AuraScript* auraScript, ProcEventInfo& eventInfo);
private:
AuraProcFnType _HandlerScript;
@@ -752,6 +906,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EffectProcHandler(AuraEffectProcFnType effectHandlerScript, uint8 effIndex, uint16 effName);
+ EffectProcHandler(EffectProcHandler const& right) = delete;
+ EffectProcHandler(EffectProcHandler&& right) noexcept;
+ EffectProcHandler& operator=(EffectProcHandler const& right) = delete;
+ EffectProcHandler& operator=(EffectProcHandler&& right) noexcept;
+ virtual ~EffectProcHandler();
void Call(AuraScript* auraScript, AuraEffect* aurEff, ProcEventInfo& eventInfo);
private:
AuraEffectProcFnType _EffectHandlerScript;
@@ -760,6 +919,11 @@ class TC_GAME_API AuraScript : public _SpellScript
{
public:
EnterLeaveCombatHandler(AuraEnterLeaveCombatFnType handlerScript);
+ EnterLeaveCombatHandler(EnterLeaveCombatHandler const& right) = delete;
+ EnterLeaveCombatHandler(EnterLeaveCombatHandler&& right) noexcept;
+ EnterLeaveCombatHandler& operator=(EnterLeaveCombatHandler const& right) = delete;
+ EnterLeaveCombatHandler& operator=(EnterLeaveCombatHandler&& right) noexcept;
+ virtual ~EnterLeaveCombatHandler();
void Call(AuraScript* auraScript, bool isNowInCombat) const;
private:
AuraEnterLeaveCombatFnType _handlerScript;
diff --git a/src/server/game/Texts/CreatureTextMgr.cpp b/src/server/game/Texts/CreatureTextMgr.cpp
index 37ceba5032a..489cd3c3d92 100644
--- a/src/server/game/Texts/CreatureTextMgr.cpp
+++ b/src/server/game/Texts/CreatureTextMgr.cpp
@@ -30,6 +30,9 @@
#include "ObjectMgr.h"
#include "World.h"
+CreatureTextMgr::CreatureTextMgr() = default;
+CreatureTextMgr::~CreatureTextMgr() = default;
+
CreatureTextMgr* CreatureTextMgr::instance()
{
static CreatureTextMgr instance;
diff --git a/src/server/game/Texts/CreatureTextMgr.h b/src/server/game/Texts/CreatureTextMgr.h
index 69302c0e8dd..4f6522147d0 100644
--- a/src/server/game/Texts/CreatureTextMgr.h
+++ b/src/server/game/Texts/CreatureTextMgr.h
@@ -92,10 +92,16 @@ typedef std::map<CreatureTextId, CreatureTextLocale> LocaleCreatureTextMap;
class TC_GAME_API CreatureTextMgr
{
private:
- CreatureTextMgr() { }
- ~CreatureTextMgr() { }
+ CreatureTextMgr();
+ ~CreatureTextMgr();
public:
+ CreatureTextMgr(CreatureTextMgr const&) = delete;
+ CreatureTextMgr(CreatureTextMgr&&) = delete;
+
+ CreatureTextMgr& operator=(CreatureTextMgr const&) = delete;
+ CreatureTextMgr& operator=(CreatureTextMgr&&) = delete;
+
static CreatureTextMgr* instance();
void LoadCreatureTexts();
diff --git a/src/server/shared/Dynamic/LinkedList.h b/src/server/shared/Dynamic/LinkedList.h
index 0e9e44a2da4..ce1fb314329 100644
--- a/src/server/shared/Dynamic/LinkedList.h
+++ b/src/server/shared/Dynamic/LinkedList.h
@@ -78,7 +78,9 @@ class LinkedListElement
private:
LinkedListElement(LinkedListElement const&) = delete;
+ LinkedListElement(LinkedListElement&&) = delete;
LinkedListElement& operator=(LinkedListElement const&) = delete;
+ LinkedListElement& operator=(LinkedListElement&&) = delete;
protected:
~LinkedListElement()
@@ -249,7 +251,9 @@ class LinkedListHead
private:
LinkedListHead(LinkedListHead const&) = delete;
+ LinkedListHead(LinkedListHead&&) = delete;
LinkedListHead& operator=(LinkedListHead const&) = delete;
+ LinkedListHead& operator=(LinkedListHead&&) = delete;
protected:
~LinkedListHead() { }