diff options
author | Shauren <shauren.trinity@gmail.com> | 2011-05-19 13:22:17 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2011-05-19 13:22:17 +0200 |
commit | b8a7eace3e8a9c30a6d1b7ae4df36d0db5a7efbc (patch) | |
tree | 385592ccb318daf4af15c7398604200a88dde3e9 /src/server/game/Spells/SpellScript.cpp | |
parent | c3e1f41bc2b71983f07d435550c18d535caf89a1 (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-x | src/server/game/Spells/SpellScript.cpp | 16 |
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 |