aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellScript.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2011-05-19 13:22:17 +0200
committerShauren <shauren.trinity@gmail.com>2011-05-19 13:22:17 +0200
commitb8a7eace3e8a9c30a6d1b7ae4df36d0db5a7efbc (patch)
tree385592ccb318daf4af15c7398604200a88dde3e9 /src/server/game/Spells/SpellScript.cpp
parentc3e1f41bc2b71983f07d435550c18d535caf89a1 (diff)
Core/Scripts: Print error when attempting to retrieve aura application target in script hook which does not have one
Diffstat (limited to 'src/server/game/Spells/SpellScript.cpp')
-rwxr-xr-xsrc/server/game/Spells/SpellScript.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellScript.cpp b/src/server/game/Spells/SpellScript.cpp
index bcc1266c9fa..b873e4d1669 100755
--- a/src/server/game/Spells/SpellScript.cpp
+++ b/src/server/game/Spells/SpellScript.cpp
@@ -830,7 +830,21 @@ bool AuraScript::HasEffectType(AuraType type) const
Unit* AuraScript::GetTarget() const
{
- return m_auraApplication->GetTarget();
+ switch (m_currentScriptState)
+ {
+ case AURA_SCRIPT_HOOK_EFFECT_APPLY:
+ case AURA_SCRIPT_HOOK_EFFECT_REMOVE:
+ case AURA_SCRIPT_HOOK_EFFECT_PERIODIC:
+ case AURA_SCRIPT_HOOK_EFFECT_ABSORB:
+ case AURA_SCRIPT_HOOK_EFFECT_AFTER_ABSORB:
+ case AURA_SCRIPT_HOOK_EFFECT_MANASHIELD:
+ case AURA_SCRIPT_HOOK_EFFECT_AFTER_MANASHIELD:
+ return m_auraApplication->GetTarget();
+ default:
+ sLog->outError("TSCR: Script: `%s` Spell: `%u` AuraScript::GetTarget called in a hook in which the call won't have effect!", m_scriptName->c_str(), m_scriptSpellId);
+ }
+
+ return NULL;
}
AuraApplication const* AuraScript::GetTargetApplication() const