mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-27 04:12:40 +01:00
Core/Spells: Make SpellEffectInfo not copyable
(cherry picked from commit 858c393d07)
This commit is contained in:
@@ -382,15 +382,10 @@ SpellEffectInfo::SpellEffectInfo(SpellEntry const* spellEntry, SpellInfo const*
|
||||
_immunityInfo = nullptr;
|
||||
}
|
||||
|
||||
SpellEffectInfo::SpellEffectInfo(SpellEffectInfo const&) = default;
|
||||
SpellEffectInfo::SpellEffectInfo(SpellEffectInfo&&) noexcept = default;
|
||||
SpellEffectInfo& SpellEffectInfo::operator=(SpellEffectInfo const&) = default;
|
||||
SpellEffectInfo& SpellEffectInfo::operator=(SpellEffectInfo&&) noexcept = default;
|
||||
|
||||
SpellEffectInfo::~SpellEffectInfo()
|
||||
{
|
||||
delete _immunityInfo;
|
||||
}
|
||||
SpellEffectInfo::~SpellEffectInfo() = default;
|
||||
|
||||
bool SpellEffectInfo::IsEffect() const
|
||||
{
|
||||
@@ -2835,7 +2830,7 @@ void SpellInfo::_LoadImmunityInfo()
|
||||
|| !immuneInfo.AuraTypeImmune.empty()
|
||||
|| !immuneInfo.SpellEffectImmune.empty())
|
||||
{
|
||||
effect._immunityInfo = workBuffer.release();
|
||||
effect._immunityInfo = std::move(workBuffer);
|
||||
workBuffer = std::make_unique<SpellEffectInfo::ImmunityInfo>();
|
||||
}
|
||||
|
||||
|
||||
@@ -234,9 +234,9 @@ public:
|
||||
|
||||
SpellEffectInfo();
|
||||
explicit SpellEffectInfo(SpellEntry const* spellEntry, SpellInfo const* spellInfo, uint8 effIndex);
|
||||
SpellEffectInfo(SpellEffectInfo const&);
|
||||
SpellEffectInfo(SpellEffectInfo const&) = delete;
|
||||
SpellEffectInfo(SpellEffectInfo&&) noexcept;
|
||||
SpellEffectInfo& operator=(SpellEffectInfo const&);
|
||||
SpellEffectInfo& operator=(SpellEffectInfo const&) = delete;
|
||||
SpellEffectInfo& operator=(SpellEffectInfo&&) noexcept;
|
||||
~SpellEffectInfo();
|
||||
|
||||
@@ -263,7 +263,7 @@ public:
|
||||
SpellTargetObjectTypes GetUsedTargetObjectType() const;
|
||||
|
||||
struct ImmunityInfo;
|
||||
ImmunityInfo const* GetImmunityInfo() const { return _immunityInfo; }
|
||||
ImmunityInfo const* GetImmunityInfo() const { return _immunityInfo.get(); }
|
||||
|
||||
private:
|
||||
struct StaticData
|
||||
@@ -273,7 +273,7 @@ private:
|
||||
};
|
||||
static std::array<StaticData, TOTAL_SPELL_EFFECTS> _data;
|
||||
|
||||
ImmunityInfo* _immunityInfo;
|
||||
std::unique_ptr<ImmunityInfo> _immunityInfo;
|
||||
};
|
||||
|
||||
struct TC_GAME_API SpellDiminishInfo
|
||||
|
||||
Reference in New Issue
Block a user