Core/Spells: Make SpellEffectInfo not copyable

(cherry picked from commit 858c393d07)
This commit is contained in:
Shauren
2023-10-26 16:36:33 +02:00
parent d5b64a0bb2
commit 54b13c7e4c
2 changed files with 6 additions and 11 deletions

View File

@@ -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>();
}

View File

@@ -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