diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-02-28 00:22:18 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-02-28 00:22:18 +0100 |
commit | 9fe8ee3622e0f15c6c9e1362507cb51b6ac33439 (patch) | |
tree | 1038c8021c04ea030f5ea91fe95bab27524374e9 /src | |
parent | a8bb1739e99c503fc72b3a4a9ecede214c88396f (diff) |
Core/Spells: Make CastSpellExtraArgs copy and movable
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 7 | ||||
-rw-r--r-- | src/server/game/Spells/SpellDefines.h | 16 |
2 files changed, 16 insertions, 7 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index d56bbffa9b5..3fd216df5ae 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -9108,6 +9108,13 @@ CastSpellTargetArg::CastSpellTargetArg(WorldObject* target) Targets.emplace(); // nullptr is allowed } +CastSpellExtraArgs::CastSpellExtraArgs() = default; +CastSpellExtraArgs::CastSpellExtraArgs(CastSpellExtraArgs const& other) = default; +CastSpellExtraArgs::CastSpellExtraArgs(CastSpellExtraArgs&& other) noexcept = default; +CastSpellExtraArgs& CastSpellExtraArgs::operator=(CastSpellExtraArgs const& other) = default; +CastSpellExtraArgs& CastSpellExtraArgs::operator=(CastSpellExtraArgs&& other) noexcept = default; +CastSpellExtraArgs::~CastSpellExtraArgs() = default; + CastSpellExtraArgs& CastSpellExtraArgs::SetTriggeringSpell(Spell const* triggeringSpell) { TriggeringSpell = triggeringSpell; diff --git a/src/server/game/Spells/SpellDefines.h b/src/server/game/Spells/SpellDefines.h index 22f6c588fda..e7bbd409437 100644 --- a/src/server/game/Spells/SpellDefines.h +++ b/src/server/game/Spells/SpellDefines.h @@ -435,7 +435,7 @@ struct TC_GAME_API CastSpellTargetArg struct TC_GAME_API CastSpellExtraArgs { - CastSpellExtraArgs() = default; + CastSpellExtraArgs(); CastSpellExtraArgs(bool triggered) : TriggerFlags(triggered ? TRIGGERED_FULL_MASK : TRIGGERED_NONE) {} CastSpellExtraArgs(TriggerCastFlags trigger) : TriggerFlags(trigger) {} CastSpellExtraArgs(Item* item) : TriggerFlags(TRIGGERED_FULL_MASK), CastItem(item) {} @@ -444,6 +444,14 @@ struct TC_GAME_API CastSpellExtraArgs CastSpellExtraArgs(Difficulty castDifficulty) : CastDifficulty(castDifficulty) {} CastSpellExtraArgs(SpellValueMod mod, int32 val) { SpellValueOverrides.AddMod(mod, val); } + CastSpellExtraArgs(CastSpellExtraArgs const& other); + CastSpellExtraArgs(CastSpellExtraArgs&& other) noexcept; + + CastSpellExtraArgs& operator=(CastSpellExtraArgs const& other); + CastSpellExtraArgs& operator=(CastSpellExtraArgs&& other) noexcept; + + ~CastSpellExtraArgs(); + CastSpellExtraArgs& SetTriggerFlags(TriggerCastFlags flag) { TriggerFlags = flag; return *this; } CastSpellExtraArgs& SetCastItem(Item* item) { CastItem = item; return *this; } CastSpellExtraArgs& SetTriggeringSpell(Spell const* triggeringSpell); @@ -477,12 +485,6 @@ struct TC_GAME_API CastSpellExtraArgs std::vector<std::pair<SpellValueMod, int32>> data; } SpellValueOverrides; std::any CustomArg; - - CastSpellExtraArgs(CastSpellExtraArgs const&) = delete; - CastSpellExtraArgs(CastSpellExtraArgs&&) = delete; - - CastSpellExtraArgs& operator=(CastSpellExtraArgs const&) = delete; - CastSpellExtraArgs& operator=(CastSpellExtraArgs&&) = delete; }; struct SpellCastVisual |