aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Spell.cpp7
-rw-r--r--src/server/game/Spells/SpellDefines.h16
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