aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellScript.cpp
diff options
context:
space:
mode:
authorMatan Shukry <matanshukry@gmail.com>2021-03-23 00:21:09 +0100
committerShauren <shauren.trinity@gmail.com>2021-03-23 00:46:47 +0100
commit2420f4e7a10c430ea28b2d71a17f54da0c244a54 (patch)
treeaf4287c6327bed6e521cd7cdc012f9886bf0ea73 /src/server/game/Spells/SpellScript.cpp
parent88f4d30445937b9de42f5cb25acad75fc89bdccb (diff)
Core/Scripts: Implemented new aura script hook OnEnterLeaveCombat
Diffstat (limited to 'src/server/game/Spells/SpellScript.cpp')
-rw-r--r--src/server/game/Spells/SpellScript.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellScript.cpp b/src/server/game/Spells/SpellScript.cpp
index de737b0d5d0..97b93e74766 100644
--- a/src/server/game/Spells/SpellScript.cpp
+++ b/src/server/game/Spells/SpellScript.cpp
@@ -978,6 +978,16 @@ void AuraScript::EffectProcHandler::Call(AuraScript* auraScript, AuraEffect* aur
(auraScript->*_EffectHandlerScript)(aurEff, eventInfo);
}
+AuraScript::EnterLeaveCombatHandler::EnterLeaveCombatHandler(AuraEnterLeaveCombatFnType handlerScript)
+{
+ _handlerScript = handlerScript;
+}
+
+void AuraScript::EnterLeaveCombatHandler::Call(AuraScript* auraScript, bool isNowInCombat) const
+{
+ (auraScript->*_handlerScript)(isNowInCombat);
+}
+
bool AuraScript::_Load(Aura* aura)
{
m_aura = aura;
@@ -1224,6 +1234,7 @@ Unit* AuraScript::GetTarget() const
case AURA_SCRIPT_HOOK_AFTER_PROC:
case AURA_SCRIPT_HOOK_EFFECT_PROC:
case AURA_SCRIPT_HOOK_EFFECT_AFTER_PROC:
+ case AURA_SCRIPT_HOOK_ENTER_LEAVE_COMBAT:
return m_auraApplication->GetTarget();
default:
TC_LOG_ERROR("scripts", "Script: `%s` Spell: `%u` AuraScript::GetTarget called in a hook in which the call won't have effect!", m_scriptName->c_str(), m_scriptSpellId);