aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellScript.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-02-12 21:36:46 +0100
committerShauren <shauren.trinity@gmail.com>2022-02-12 21:36:46 +0100
commitf8ad7017dd69e3853ed5912ac6151bc56b6265a0 (patch)
tree13c6568cf2e7b3a7ccb964b12f6686651f0e714d /src/server/game/Spells/SpellScript.h
parent5b28a5ab14f3ca25f986d547e2d2005be3f047b7 (diff)
Core/Misc: Move (or delete) constructors and destructors to .cpp files (avoids compiling them in every file that includes them)
Diffstat (limited to 'src/server/game/Spells/SpellScript.h')
-rw-r--r--src/server/game/Spells/SpellScript.h174
1 files changed, 169 insertions, 5 deletions
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;